Как удалить специальный символ с номером из строки в Android Java?

У меня есть такая строка: 1984 (как Word — 55 долларов), 1984–1993 (как Something — 74435 долларов), с 1994 по настоящее время (как Anything — 9324879 долларов)

Я хочу удалить специальный символ $ и число после него, чтобы окончательный результат был 1984 (как Word), 1984-1993 (как что-то), 1994-настоящее время (как что угодно)

Как я могу это сделать?

Я пытался использовать разделение следующим образом: String s = previousString.split("\\$")[0] + ")"; но он обрезал последнюю часть строки, поэтому результат выглядит следующим образом:

1984 (как Слово), 1984-1993 (как Что-то)

Всегда ли за $ будет следовать беззнаковый номер? Чего бы вы хотели, чтобы произошло, если это не так? Кроме того, обязательно ли оно находится в скобках и непосредственно перед правой скобкой, )?

Anonymous 11.08.2024 20:31
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
1
50
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Вы можете использовать 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 здесь

Хотя этот код может ответить на вопрос, я рекомендую вам также объяснить, что делает ваш код и как он решает проблему вопроса. Ответы с пояснениями обычно более полезны, качественны и с большей вероятностью соберут голоса «за».

Mark Rotteveel 11.08.2024 12:26

Другие вопросы по теме