美文网首页
字符串中查找匹配的子字符串第一次出现的位置及出现的总次数

字符串中查找匹配的子字符串第一次出现的位置及出现的总次数

作者: 小圆圈Belen | 来源:发表于2020-11-12 22:38 被阅读0次
    1.字符串中查找第一次匹配到的子字符串的位置
    2.字符串中查找匹配到的子字符串的个数
    栗子:
    原字符串:youabddsyoubdff
    字串:bd
    
    匹配到的位置结果:4
    匹配的个数:2
    
    public class MatchSubString {
        public static int subLocation(String src,String subStr){
            char [] srcChars = src.toCharArray();
            char [] subChars = subStr.toCharArray();
            int length_src = srcChars.length;
            int length_subStr = subChars.length;
            int loc = 0;
            //i<length_src-length_subStr作为边界的原因是如果前面没有完全匹配的字串,那么剩余的字符数量小于模版字符串,那就没必要比较了,肯定不存在
            for(int i=0;i<length_src-length_subStr;i++){
                int j=0;
                while (j<length_subStr&&subChars[j]==srcChars[i+j]){
                    j=j+1;
                }
                if(j==length_subStr){
                    loc = i;
                    return loc;
                }
            }
            return  -1;
        }
        public static int subNumber(String src,String subStr){
            char [] srcChars = src.toCharArray();
            char [] subChars = subStr.toCharArray();
            int length_src = srcChars.length;
            int length_subStr = subChars.length;
            int loc = 0;
            int num = 0;
            for(int i=0;i<length_src-length_subStr;i++){
                int j=0;
                while (j<length_subStr&&subChars[j]==srcChars[i+j]){
                    j=j+1;
                }
                if(j==length_subStr){
                    loc = i;
                    num++;
                }
            }
            return num;
        }
        public static void main(String [] args){
            String src = "youabddsyoubdff";
            String subStr = "bd";
            int loc = subLocation(src,subStr);
            int num = subNumber(src,subStr);
            System.out.println("第一次匹配到的子字符串的位置:"+loc);
            System.out.println("匹配到的子字符串的个数:"+num);
        }
    }
    

    相关文章

      网友评论

          本文标题:字符串中查找匹配的子字符串第一次出现的位置及出现的总次数

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