0

我遇到了一个问题,我需要查看提供的字符串是否包含我正在寻找的中间 3 个字符。

例如。我们总是会得到 9 个字符串,其中我想比较中间的 3 个字符,例如“abc”。如果条件匹配,那么我想应用一些逻辑。谁能给我举个例子吗?

提前致谢

4

4 回答 4

4

我想这就是你想要的

^.{3}abc.{3}$
于 2012-10-11T17:46:16.803 回答
2

^.*abc.*$

你也可以使用类似的东西^.{3}abc.{3}$来匹配中间的三个字符。

于 2012-10-11T17:46:19.667 回答
0

substring使用and可能更有意义equals

if(s.substring(3, 6).equals("abc"))
    // ...

但是如果你真的想要一个正则表达式,你可以写:

if(Pattern.compile("...abc...", Pattern.DOTALL).matcher(s).matches())
    // ...
于 2012-10-11T17:46:05.920 回答
0
int mid = (test.length()/2);
string = string.substring(mid-1, mid+2);
if (string.equals("abc"))
{
   do stuff
}

这是一个使用子字符串获取中间三个字符的示例。您可能需要添加一个检查,以防字符串长度少于 3 个字符以防止错误。将 abc 更改为您要检查的任何内容。

于 2012-10-11T18:00:22.047 回答