如何在android中为此创build正则expression式?

假设我有这样一个string:

string = "Manoj Kumar Kashyap"; 

现在我想创build一个正则expression式来匹配Ka出现在空格之后的位置,并且还想获得匹配字符的索引。

我正在使用Java语言。

Solutions Collecting From Web of "如何在android中为此创build正则expression式?"

就像在Java SE中一样,您可以使用正则expression式:

 Pattern pattern = Pattern.compile(".* (Ka).*"); Matcher matcher = pattern.matcher("Manoj Kumar Kashyap"); if(matcher.matches()) { int idx = matcher.start(1); } 

你不需要一个正则expression式来做到这一点。 我不是Java专家,但根据Android文档 :

public int indexOf(String string)
在此string中search指定string的第一个索引。 searchstring从头开始,并移动到这个string的末尾。

参数
将string串起来查找。

返回
该string中指定string的第一个字符的索引,如果指定的string不是子string,则为-1。

你可能最终会得到像这样的东西:

 int index = somestring.indexOf(" Ka"); 

如果你真的需要正则expression式而不是indexOf ,可以这样做

 String[] split = "Manoj Kumar Kashyap".split("\\sKa"); if (split.length > 0) { // there was at least one match int startIndex = split[0].length() + 1; }