Строка заменяет символы табуляции

У меня есть строка с парой символов табуляции. Я хочу все это заменить на '|'

String s = "\tcat\t\t\tball\t";
String b = s.replaceAll("\t+", "|");

System.out.println(b);

|cat|ball| распечатывается. Ожидается |cat|||ball|

Почему у тебя там "+"? Этот «+» означает «одно или несколько вхождений», поэтому каждое совпадение состоит из всех последовательных символов «\t».

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

Ответы 1

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

Измените s.replaceAll("\t+", "|") на s.replaceAll("\t", "|") следующим образом:

String s = "\tcat\t\t\tball\t";
String b = s.replaceAll("\t", "|");
System.out.println(b);

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