以下代码测试可用,函数返回目标字符串在原始字符串中第一次出现的位置,没有找到则返回-1.
- class SearchString
- {
- public static void main(String[] args)
- {
- String str="nbsjienbslesnbssdlafjnsdnb";
- System.out.println(search(str,"bs"));
- }
-
- public static int search(String strSource,String strTarget)
- {
- boolean flag =true;
- for(int i=0;i<strSource.length();i++)
- {
- if(strSource.charAt(i)==strTarget.charAt(0))//外层循环先在原始字符串中找到与目标相同的第一个字符串
- {
- for(int j=1;(j<strTarget.length())&&flag;j++)//找到之后再循环目标字符串进行比较
- {
- if(strSource.charAt(i+j)!=strTarget.charAt(j))//如果有不一样的说明不是满足条件的位置,停止内部循环
- {
- flag=false;;
- }
- }
- if(flag)//退出循环之后如果flag的值为true,则说明当前脚标开始的字符串和目标字符串匹配。
- {
- return i;
- }
- else
- {
- flag=true;//没有找到的话让循环继续执行
- }
- }
- }
- return -1;//如果正常退出则说明没有找到合适的,反回-1.如果找到了则有return i返回合适的脚标!
- }
- }
复制代码 |