如何在android中为此创建正则表达式?

时间:2009-07-15 07:50:21

标签: java android regex

假设我有一个这样的字符串:

string = "Manoj Kumar Kashyap";

现在我想创建一个正则表达式,以匹配Ka在空格后出现的位置,并且还想获得匹配字符的索引。

我使用的是java语言。

3 个答案:

答案 0 :(得分:15)

您可以像使用Java SE一样使用正则表达式:

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

答案 1 :(得分:4)

您不需要正则表达式来执行此操作。我不是Java专家,但根据Android docs

  

public int indexOf(String string)
  在第一个字符串中搜索此字符串   指定字符串的索引。该   从中搜索字符串   开始并走向结束   这个字符串。

     

参数字符串要查找的字符串。

     

返回
第一个的索引   。中指定字符串的字符   这个字符串,如果指定了-1   string不是子字符串。

你可能会得到类似的东西:

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

答案 2 :(得分:0)

如果你真的需要正则表达式而不仅仅是indexOf,那么就可以这样做

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