2009-07-15 29 views

Trả lời

15

Bạn có thể sử dụng biểu thức thông thường giống như trong Java SE:

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

Bạn không cần một biểu thức chính quy để làm điều đó. Tôi không phải là một chuyên gia về Java, nhưng theo Android docs:

public int indexOf (String string)
kiếm trong chuỗi này cho chỉ số đầu tiên của chuỗi quy định. Các tìm kiếm cho chuỗi bắt đầu tại bắt đầu và di chuyển về phía cuối của chuỗi này.

Tham số
xâu chuỗi để tìm.

Returns
chỉ số của ký tự đầu tiên của chuỗi quy định tại chuỗi này, -1 nếu quy định chuỗi không phải là một chuỗi.

Bạn có lẽ sẽ kết thúc với một cái gì đó như:

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

Nếu bạn thực sự cần biểu thức thông thường và không chỉ indexOf, nó có thể làm điều đó như thế này

String[] split = "Manoj Kumar Kashyap".split("\\sKa"); 
if (split.length > 0) 
{ 
    // there was at least one match 
    int startIndex = split[0].length() + 1; 
} 
Các vấn đề liên quan