假设我有一个这样的字符串:
string = "Manoj Kumar Kashyap";
现在我想创建一个正则表达式,以匹配Ka在空格后出现的位置,并且还想获得匹配字符的索引。
我使用的是java语言。
答案 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;
}