1

让我们拿一个字符串“aabaabaa”,我想知道“aa”在中间或最后的位置。

例如,“aa”从右边的位置应该是:6(以 start insex 为 0)

4

1 回答 1

1

这可以使用 Apache commons 中的 StringUtils 轻松完成。这是有关用法的完整示例。

public static int indexOfIgnoreCase(String str,
                                    String searchStr,
                                    int startPos)

从指定位置查找字符串中的第一个索引,不区分大小写。

空字符串将返回 -1。负的起始位置被视为零。空 ("") 搜索字符串始终匹配。大于字符串长度的起始位置仅匹配空搜索字符串。

StringUtils.indexOfIgnoreCase(null, *, *)          = -1
StringUtils.indexOfIgnoreCase(*, null, *)          = -1
StringUtils.indexOfIgnoreCase("", "", 0)           = 0
StringUtils.indexOfIgnoreCase("aabaabaa", "A", 0)  = 0
StringUtils.indexOfIgnoreCase("aabaabaa", "B", 0)  = 2
StringUtils.indexOfIgnoreCase("aabaabaa", "AB", 0) = 1
StringUtils.indexOfIgnoreCase("aabaabaa", "B", 3)  = 5
StringUtils.indexOfIgnoreCase("aabaabaa", "B", 9)  = -1
StringUtils.indexOfIgnoreCase("aabaabaa", "B", -1) = 2
StringUtils.indexOfIgnoreCase("aabaabaa", "", 2)   = 2
StringUtils.indexOfIgnoreCase("abc", "", 9)        = 3

参数:

  • str - 要检查的字符串,可能为 null
  • searchStr - 要查找的字符串,可能为 null
  • startPos - 起始位置,负数视为零

返回: 搜索字符串的第一个索引,如果没有匹配或空字符串输入,则返回-1

于 2014-02-12T09:05:45.587 回答