У меня есть такая строка: 1984 (как Word — 55 долларов), 1984–1993 (как Something — 74435 долларов), с 1994 по настоящее время (как Anything — 9324879 долларов)
Я хочу удалить специальный символ $ и число после него, чтобы окончательный результат был 1984 (как Word), 1984-1993 (как что-то), 1994-настоящее время (как что угодно)
Как я могу это сделать?
Я пытался использовать разделение следующим образом:
String s = previousString.split("\\$")[0] + ")";
но он обрезал последнюю часть строки, поэтому результат выглядит следующим образом:
1984 (как Слово), 1984-1993 (как Что-то)
Вы можете использовать string.replaceAll
, которое принимает регулярное выражение для удаления $
, за которым следует одна или несколько цифр:
String input = "1984 (as Word$55), 1984-1993 (as Something$74435), 1994-present (as Anything$9324879)";
input = input.replaceAll("\\$\\d+", "");
System.out.println(input);
Вы можете использовать следующее регулярное выражение Java, чтобы удалить символ $ и цифры, следующие за ним:
String input = "1984 (as Word$55), 1984-1993 (as Something$74435), 1994-present (as Anything$9324879)";
String output = input.replaceAll("\\$\\d+", "");
\\$
Экранирует символ $ (который имеет особое значение в регулярном выражении)
\\d+
Соответствует одной или нескольким цифрам.
Вы можете узнать о Regex здесь
Хотя этот код может ответить на вопрос, я рекомендую вам также объяснить, что делает ваш код и как он решает проблему вопроса. Ответы с пояснениями обычно более полезны, качественны и с большей вероятностью соберут голоса «за».
Всегда ли за
$
будет следовать беззнаковый номер? Чего бы вы хотели, чтобы произошло, если это не так? Кроме того, обязательно ли оно находится в скобках и непосредственно перед правой скобкой,)
?