使用子字符串搜索字符串的逻辑

时间:2016-03-17 04:20:07

标签: scala substring

我的问题非常简单......有人可以向我解释使用子串y搜索字符串x然后返回x的索引,其中y在x中找到吗?

我正在参加涵盖多种语言的CS课程,这似乎是关于作业的一个反复出现的问题,但我不明白这是如何运作的。目前我们正在研究Scala,并且要创建一个接受2个参数的函数,然后我们应该按照上面提到的那样做。

如果有人能解释你如何在字符串中搜索另一个字符串的内容,我会非常感激。甚至还要感谢一个例子。

全部从头开始,不使用库:/

1 个答案:

答案 0 :(得分:0)

我确信现实生活实现比这更聪明,但完成这项工作的最简单方法就是这样(非Scala特定):

  1. 使用索引变量开始循环第一个字符串字符,我们称之为i
  2. 在每个循环中,检查第一个String中是否还有更多或更多的字符,作为第二个String的长度。如果没有,请及早返回-1
  3. 现在启动另一个(嵌套循环)并检查第一个String是否与索引i中的第二个字符串匹配。始终从头开始迭代第二个字符串。
  4. 一旦找到第一个不匹配的字符,就可以打破这个嵌套循环。
  5. 如果此嵌套循环在索引i的第一个String上成功迭代,并从其开头(索引0)在第二个String上成功迭代,并且匹配了所有字符,则可以返回索引i
  6. 如果您遇到问题,请更新问题,但如果有人为您实施此问题,您将不会学到任何内容。