找 一个字符串 在别外一个字符串出现的位置,如果存在 就返回它所在位置的值 ,不存在就返回-1 (不使用系统自带的函数)

本文介绍了一段Java代码,用于在大字符串中查找特定字符的匹配位置。通过将输入字符串转换为字符数组并实现双指针遍历,该算法能够高效地定位目标字符。示例展示了如何使用此方法来查找子字符串在主字符串中的起始位置。
/**
     * 从一组字符串 查找匹配的字符
     * @param str   大字符串
     * @param findStr 查找的字符
     * @return
     */
    public int isFind (String str ,String findStr){
        int isFind = -1;
        char[] str_arr     = str.toCharArray();
        char[] find_arr = findStr.toCharArray();
        
        // 定义 两个查找位置
        int f = 0  ;   //主串的位置
        int s = 0;     //从串的位置
           while (f < str_arr.length && s < findStr.length()){
             if (str_arr[f] == find_arr[s]){
                 ++ f;
                 ++ s;
            }
            else {
                f++;
                s = 0;
            }
            }
       //说明查找 到了这个字符串
         if (s >0){
             isFind = f - s;
         }
         System.out.println("isfindid--***"+isFind);
         return isFind;
         }


例如 :int findId = convert.isFind("1cd", "cd");

输出结果是:1



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值