У меня проблема в Java при попытке удалить символы из конца строки. Это теперь стало типичной проблемой совпадения шаблонов, которую я не могу решить.Как Regex заменить символы в конце строки
PROBLEM = удалить все плюсы, минусы и пробелы (не беспокоиться о пробелах) с конца строки.
Pattern myRegex;
Matcher myMatch;
String myPattern = "";
String myString = "";
String myResult = "";
myString="surname; forename--+ + --++ "
myPattern="^(.*)[-+ ]*$"
//expected result = "surname; forename"
myRegex = Pattern.compile(myPattern);
myMatch = myRegex.matcher(myString);
if (myMatch.find()) {
myResult = myMatch.group(1);
} else {
myResult = myString;
}
Единственный способ, которым я могу получить эту работу является обращением строки и реверсирования матч шаблон, то я обратный результат, чтобы получить правильный ответ!
Попробуйте это регулярное выражение «^ (. *?) [- +] * $" вместо этого. Я добавил '?', Чтобы сделать '*' неживым. – redneb
Возможно, что-то вроде 'myString.replaceAll (" [- +] + $ "," ")' – Thilo
@redneb: Да, жадный '. *' В начале будет есть целую строку. – Thilo