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

Java 如何在android中为此创建正则表达式?,java,android,regex,Java,Android,Regex,假设我有这样一个字符串: string = "Manoj Kumar Kashyap"; 现在我想创建一个正则表达式来匹配Ka在空格后出现的位置,还想获得匹配字符的索引 我正在使用java语言。您可以像在java SE中一样使用正则表达式: Pattern pattern = Pattern.compile(".* (Ka).*"); Matcher matcher = pattern.matcher("Manoj Kumar Kashyap"); if(matcher.matches())

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

string = "Manoj Kumar Kashyap";
现在我想创建一个正则表达式来匹配Ka在空格后出现的位置,还想获得匹配字符的索引


我正在使用java语言。

您可以像在java SE中一样使用正则表达式:

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

这样做不需要正则表达式。我不是Java专家,但根据:

public int indexOf(字符串)
在此字符串中搜索第一个 指定字符串的索引。这个 搜索字符串从 开始,并向结尾移动 这根绳子

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

返回第一个索引的索引
中指定字符串的字符 如果指定了 字符串不是子字符串

你可能会得到这样的结果:

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

如果您确实需要正则表达式,而不仅仅是
indexOf
,那么可以这样做

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