为了账号安全,请及时绑定邮箱和手机立即绑定

一个字母一个字母地搜索一个字符

一个字母一个字母地搜索一个字符

幕布斯7119047 2021-11-03 15:02:47
尝试搜索patterns of letters in a file,该模式由用户输入并作为 出现String,到目前为止,我已经通过不确定如何对其进行测试以查看下一个字母是否也与该模式匹配来找到第一个字母。这是我目前拥有的循环。任何帮助,将不胜感激    public void exactSearch(){    if (pattern==null){UI.println("No pattern");return;}    UI.println("===================\nExact searching for "+patternString);    int j = 0 ;     for(int i=0; i<data.size(); i++){        if(patternString.charAt(i) == data.get(i) )        j++;        UI.println( "found at " + j) ;    }}
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

您需要遍历第一个字符串,直到找到另一个字符串的第一个字符。从那里,您可以创建一个内部循环并同时迭代两者,就像您所做的那样。提示:一定要注意边界,因为字符串的大小可能不同。


查看完整回答
反对 回复 2021-11-03
?
HUH函数

TA贡献1836条经验 获得超4个赞

String data = "foo-bar-baz-bar-";

String pattern = "bar";

int foundIndex = data.indexOf(pattern);


while (foundIndex > -1) {

    System.out.println("Match found at: " + foundIndex);

    foundIndex = data.indexOf(pattern, foundIndex + pattern.length());

}


查看完整回答
反对 回复 2021-11-03
?
烙印99

TA贡献1829条经验 获得超13个赞

你可以试试这个:-


String a1 = "foo-bar-baz-bar-";  

String pattern = "bar";


int foundIndex = 0;


while(foundIndex != -1) {

    foundIndex = a1.indexOf(pattern,foundIndex);

    if(foundIndex != -1)

    {

        System.out.println(foundIndex);

        foundIndex += 1;

    }


}

indexOf- 第一个参数是模式字符串,

第二个参数是我们必须搜索的起始索引。


如果找到模式,它将返回模式匹配的起始索引。


如果未找到模式,indexOf将返回 -1。


查看完整回答
反对 回复 2021-11-03
  • 3 回答
  • 0 关注
  • 152 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信