使用StringUtils提取字符串

时间:2014-02-12 09:05:46

标签: string substring apache-stringutils string-utils

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

例如,右边的“aa”的位置应为:6(将start insex设为0)

1 个答案:

答案 0 :(得分:1)

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

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

从指定位置查找String中第一个索引的区分大小写。

null String将返回-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 - 开始位置,负面视为零

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