Size: a a a

2020 December 08

SK

Sergei Kutcher in learn.java
Tatjana Khomjaсkova
Так не присваивает, наверное, полученное значение
Да, все верно. replaceAll не изменяет исходную строку
источник

DC

Denis Chikanov in learn.java
У него в исходной строке вот тут два бэкслэша подряд.
За счёт того, что бэкслэш требует экранирования и в строковых литералах, и в регулярках, одиночный бэкслэш в replaceAll в первом аргументе надо писать как "\\\\"
Что, в общем-то, достаточно для replaceAll'а, но меня смущает, что удвоение этой строчки-аргумента replaceAll ведёт к иному результату, когда там есть два бэкслэша подряд.
источник

SK

Sergei Kutcher in learn.java
String test = "test\\/test\\/test";
String test2 = test.replaceAll("\\\\","");
System.out.println(test2);
источник

SK

Sergei Kutcher in learn.java
источник

SK

Sergei Kutcher in learn.java
Спасибо за наводку
источник

GV

Gukov Viktor in learn.java
Denis Chikanov
@pepeisalreadytaken перечитай исходную строку, пожалуйста
Есть строка
test\\/test\\/test
Он ищет по regex
\\\\\\\\
данная регулярка ничему в строке не удовлетворяет, и ничего не меняет, что корректно. ЧЯДНТ?
источник

DC

Denis Chikanov in learn.java
Gukov Viktor
Есть строка
test\\/test\\/test
Он ищет по regex
\\\\\\\\
данная регулярка ничему в строке не удовлетворяет, и ничего не меняет, что корректно. ЧЯДНТ?
1) Эта регулярка удовлетворяет двум бэкслэшам подряд
2) Вывод меняется, на скриншоте это видно, test\\/ -> test\/
источник

SK

Sergei Kutcher in learn.java
Gukov Viktor
Есть строка
test\\/test\\/test
Он ищет по regex
\\\\\\\\
данная регулярка ничему в строке не удовлетворяет, и ничего не меняет, что корректно. ЧЯДНТ?
Оригинальная регулярка была про "\\\\"
источник

GV

Gukov Viktor in learn.java
Denis Chikanov
1) Эта регулярка удовлетворяет двум бэкслэшам подряд
2) Вывод меняется, на скриншоте это видно, test\\/ -> test\/
источник

V

Vlad in learn.java
Denis Chikanov
1) Эта регулярка удовлетворяет двум бэкслэшам подряд
2) Вывод меняется, на скриншоте это видно, test\\/ -> test\/
Вывод меняется из за экрана же, не?
источник

GV

Gukov Viktor in learn.java
Vlad
Вывод меняется из за экрана же, не?
Ну да
источник

GV

Gukov Viktor in learn.java
Я это и пытаюсь донести
источник

SK

Sergei Kutcher in learn.java
Denis Chikanov
1) Эта регулярка удовлетворяет двум бэкслэшам подряд
2) Вывод меняется, на скриншоте это видно, test\\/ -> test\/
Вывод не меняется, просто один символ \ не выводится
источник

DC

Denis Chikanov in learn.java
Лол, твою ж двадцать, я сам себя перехитрил.
источник

SK

Sergei Kutcher in learn.java
Так вот =)
источник

GV

Gukov Viktor in learn.java
Denis Chikanov
Лол, твою ж двадцать, я сам себя перехитрил.
Я уж думал я поехавший
источник

DC

Denis Chikanov in learn.java
Пардон.
источник

SK

Sergei Kutcher in learn.java
Всем спасибо, попарвил - работает
источник

DC

Denis Chikanov in learn.java
Думаю о том, что в джаве надо экранировать бэкслэш, потому два бэкслэша превращаются в регулярке в 8.
Не думаю о том, что те же бэкслэши выше тоже участвуют в экранировании.
источник

DC

Denis Chikanov in learn.java
Вот это правда неправильный аргумент против моих слов, но предлагаю закрыть тему
источник