检查字符串是否包含另一个,如果是,则包含哪个索引

时间:2015-12-06 05:53:18

标签: java string hashmap

我无法找到这个在线,StackOverflow或其他地方的解决方案,所以我想我会在这里发布。

假设有一个名为String1的字符串。还有许多其他字符串,例如StringA,String B,StringC ... StringZ。

String1只包含其中一个字符串(StringA-Z),它可能在前面和后面包含额外的字符(从某种意义上说,StringA-Z隐藏在String1中)

现在,如何检查String1中包含哪个StringA-Z,以及在哪些索引中,因此可以修改String1(或者如果情况那样保持原样),以便它最终匹配它包含的字符串?

由于 - cp15

编辑:解决了。感谢所有回复的人。在StackOverflow上看起来还有其他这样的问题,我记得读了一两个,但我认为我的情况有所不同。事实证明我只是将indexOf()与substring()混淆。

2 个答案:

答案 0 :(得分:2)

如何使用indexof方法?

If (string1.indexof(stringA) != -1){
    // it does exists. Do something with it..

}

只是我的头脑,但如果我理解正确,那么这应该就够了

答案 1 :(得分:0)

我不确定为什么你会使用HashMap,其中每个键都映射到自己,所以我将只使用String s列表{{{ 1}})显示如何做到这一点。

stringList

如果您真的想使用for (String stringX : stringList) { // Get the starting index of stringX in string1 int index = string1.indexOf(stringX); // index will be -1 if stringX is not within string1 if (index != -1) { // Do what you want here, then break since there is only one match // and we already found it. break; } } (我将其称为HashMap),只需将stringMap更改为stringListstringMap.keySet()(因为它们都是一样的。)