美文网首页
java字符串面试题,从一个字符串中查找子串

java字符串面试题,从一个字符串中查找子串

作者: 提米锅锅 | 来源:发表于2019-09-29 22:52 被阅读0次

一个常规的字符串查找算法,两层循环,每次会记录之前匹配到的字串,完整匹配后程序会退出,如果要优化的话,需要使用KMP算法,大家可以百度,比较复杂。

@RunWith(SpringRunner.class)
@SpringBootTest
@Slf4j
public class findSubStringNormalTest {
    @Test
    public void run() {
        String text = "xxb abbbb ccc add adddxdd";
        String pat = "addd";
        int matchlen = 0;
        for (int i = 0; i < text.length(); i++) {
            //外层循环控制目标文本偏移量
            for (int j = 0; j < pat.length(); j++) {
                //开始匹配
                if (pat.charAt(j) == text.charAt(i + j)) {
                    matchlen++;
                    if (matchlen == pat.length()) {
                        log.info("final match :" + text.substring(i, i + j + 1));
                        break;
                    }
                } else {
                    //记录每次匹配到的子串
                    if (matchlen > 0) {
                        log.info("match:" + text.substring(i, i + j + 1));
                    }
                    matchlen = 0;
                    break;
                }

            }
        }
    }
}

程序输出

com.example.findSubStringNormalTest       : match:ab
com.example.findSubStringNormalTest       : match:add 
com.example.findSubStringNormalTest       : final match :addd

相关文章

  • 字符串查找

    从一个完整的字符串之中查找子字符串的存在就属于字符串查找,在String类里面提供如下的查找方法: indexOf...

  • C-字符串、字符和字节(下)

    06 — 高级字符串查找 接下来的一组函数简化了从一个字符串中查找和抽取一个子串的过程。 1.查找一个字符串前...

  • 《算法》-字符串[子字符串查找]

    字符串的一种基本操作就是子字符串查找。比如在文本编辑器或是浏览器中查找某个单词时,就是在查找子字符串。子字符串的长...

  • 字符串增强功能

    1、查找子字符串 在以前在字符串中查找字符串的时候,都是使用indexOf方法。ES6新增了三个方法来查找字符串。...

  • Go 关于串的三个经典案例

    子串查找 介绍 子串查找,也可以成为字符串查找。其中有两个字符串,分为主串和子串(模式串)。在主串中查找是否含有子...

  • 字符串截取

    从一个完成的字符串中截取出子字符串

  • Java 小知识点集合(一)

    一、Java中字符串indexof() 的使用方法 Java中字符串中子串的查找共有四种方法(indexof())...

  • 从Java认识字符串

    前言:字符串是程序中必不可少的操作,本篇将介绍字符串的由来,以及 Java 中字符串相关面试题。 一、字符串的由来...

  • 算法与数据结构练习中常犯错误4——字符串相关算法

    3.字符串 3.1 字符串压缩 3.2 字符串查找——trie树 3.3 子字符串查找 3.3.1 暴力解法 3....

  • 【17】python第十七--字符串查找

    字符串的常用操作方法有查找、修改和判断三大类。 4.1查找所谓字符串查找方法即是查找子串在字符串中的位置或出现的次...

网友评论

      本文标题:java字符串面试题,从一个字符串中查找子串

      本文链接:https://www.haomeiwen.com/subject/zsgqpctx.html