Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中查找子字符串的索引_Java - Fatal编程技术网

在Java中查找子字符串的索引

在Java中查找子字符串的索引,java,Java,我有个问题 假设我们有两个字符串str1,str2。字符串可以是任何东西。现在,我们需要创建一个方法来搜索str1中的str2,并返回str1中第一次出现的str2的索引号,如果没有找到,则返回-1。但我们不能使用string.indexOf方法 我不知道该怎么做 任何帮助都将不胜感激 谢谢只需使用myString.GetChartAt(index)方法;做你想做的事。(例如,在循环系统中使用它来比较字符串str1和str2)。 另一种方法是考虑正则表达式来实现你想要的,这听起来像是家庭作业,其

我有个问题

假设我们有两个字符串str1,str2。字符串可以是任何东西。现在,我们需要创建一个方法来搜索str1中的str2,并返回str1中第一次出现的str2的索引号,如果没有找到,则返回-1。但我们不能使用string.indexOf方法

我不知道该怎么做

任何帮助都将不胜感激


谢谢

只需使用myString.GetChartAt(index)方法;做你想做的事。(例如,在循环系统中使用它来比较字符串str1和str2)。
另一种方法是考虑正则表达式来实现你想要的,这听起来像是家庭作业,其他的约束是什么?

< P>只使用方法MyStudio GetChartAt(index);做你想做的事。(例如,在循环系统中使用它来比较字符串str1和str2)。 另一种方法是考虑正则表达式来实现你想要的,这听起来像是家庭作业,其他的约束是什么?

这是怎样的:

  • 对于str1中小于或等于str1.length()-str2.length()的每个位置
  • 从该位置获取长度为str2.length()的str1子字符串
  • 将此子字符串与str2进行比较,如果匹配,则返回位置
  • 返回-1
  • 很抱歉,在这个基本问题上发布代码对你没有帮助。所以我没有。这个怎么样:

  • 对于str1中小于或等于str1.length()-str2.length()的每个位置
  • 从该位置获取长度为str2.length()的str1子字符串
  • 将此子字符串与str2进行比较,如果匹配,则返回位置
  • 返回-1

  • 很抱歉,在这个基本问题上发布代码对你没有帮助。所以我没有。

    如果你真的想给你的教授留下深刻印象,请执行以下操作

    查找一个库,该库将执行Powerset构造,或者编写自己的代码,该代码将从搜索字符串中生成DFA。然后在字符串和DFA上一次迭代一个字符,如果最终处于接受状态,则找到它

    迭代字符串时,请跟踪当前字符的索引。如果DFA接受,那么只需从当前索引中减去搜索字符串长度,就可以在字符串中开始索引


    如果你想给你的教授留下深刻印象,请执行以下操作

    查找一个库,该库将执行Powerset构造,或者编写自己的代码,该代码将从搜索字符串中生成DFA。然后在字符串和DFA上一次迭代一个字符,如果最终处于接受状态,则找到它

    迭代字符串时,请跟踪当前字符的索引。如果DFA接受,那么只需从当前索引中减去搜索字符串长度,就可以在字符串中开始索引


    为什么不能使用
    string.indexOf
    ?可以使用正则表达式吗?或者这是一个编程作业,你必须从第一原则开始做吗?@gshauger:你是指aioobe吗?他刚刚编辑了这个问题,它最初来自user753334。不要使用String.indexOf,而是从indexOf复制代码,并更改代码,使其在另一个类中工作。;)为什么不能使用
    string.indexOf
    ?可以使用正则表达式吗?或者这是一个编程作业,你必须从第一原则开始做吗?@gshauger:你是指aioobe吗?他刚刚编辑了这个问题,它最初来自user753334。不要使用String.indexOf,而是从indexOf复制代码,并更改代码,使其在另一个类中工作。;)嘿,谢谢你,Nam。我会考虑你的解决方案。我只是想知道逻辑。不管怎样,谢谢你。我会考虑你的解决方案。我只是想知道逻辑。谢谢你