String tect = "A to B";
Pattern ptrn = Pattern.compile("\\b(A.*)\\b");
Matcher mtchr = ptrn.matcher(tr.text());
while(mtchr.find()) {
System.out.println(mtchr.group(1));
}
我得到輸出A to B
但我想要to B
。使用模式匹配某個字符後如何獲得字符串?
請幫幫我。
String tect = "A to B";
Pattern ptrn = Pattern.compile("\\b(A.*)\\b");
Matcher mtchr = ptrn.matcher(tr.text());
while(mtchr.find()) {
System.out.println(mtchr.group(1));
}
我得到輸出A to B
但我想要to B
。使用模式匹配某個字符後如何獲得字符串?
請幫幫我。
改變你的模式使用向後看獨到之處斷言檢查A
:
Pattern ptrn = Pattern.compile("(?<=A)(.*)");
您可以在一行做到這一點:
String afterA = str.replaceAll(".*?A *", ""),
您可以只需將A
之外的捕獲組。
String s = "A to B";
Pattern p = Pattern.compile("A *(.*)");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1)); // "to B"
}
您也可以拆分字符串。
String s = "A to B";
String[] parts = s.split("A *");
System.out.println(parts[1]); // "to B"
這是一些可怕的東西。 – Staven
?以什麼方式嚇人? – Szymon