Я должен удалить «ИЛИ», если он заканчивается на данной строке.
public class StringReplaceTest {
public static void main(String[] args) {
String text = "SELECT count OR %' OR";
System.out.println("matches:" + text.matches("OR$"));
Pattern pattern = Pattern.compile("OR$");
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("Found match at: " + matcher.start() + " to " + matcher.end());
System.out.println("substring:" + text.substring(matcher.start(), matcher.end()));
text = text.replace(text.substring(matcher.start(), matcher.end()), "");
System.out.println("after replace:" + text);
}
}
}
Вывод:
matches:false
Found match at: 19 to 21
substring:OR
after replace:SELECT count %'
Его удаление всех вхождений строки «ИЛИ»но я должен удалить, если это заканчивается только.Как это сделать?
Также регулярное выражение работает с Pattern, но не работает с String.matches ().В чем разница между обоими и каков наилучший способ удалить строку, если она заканчивается?