Недопустимый экранирующий символ «»

#java #string #escaping #char

#java #строка #экранирование #символ

Вопрос:

Я хочу получить имя в конце ссылки, поэтому я сделал это

 if( invName.substring(j,k).equals("")){
                                 copyf=invName.substring(0,j);}
  

В Eclipse указанный строковый литерал неправильно закрыт двойными кавычками

Как я могу сравнить строку с этим символом ?

Ответ №1:

Символ «» является специальным символом и должен экранироваться при использовании в качестве части строки, например, «». Вот пример сравнения строк с использованием символа »:

 if (invName.substring(j,k).equals("\")) {...}
  

Вы также можете выполнять прямые сравнения символов, используя логику, аналогичную следующей:

 if (invName.charAt(j) == '\') {...}
  

Комментарии:

1. thaaanks sir if (имя_инв.подстроки(j,k).равно(«\»)) {…} это работает

2. Также, когда строка является регулярным выражением, экранирующим специальный символ с . Для компилятора это сначала строка. Итак, для точки используйте "\." .

Ответ №2:

Используйте "\" для экранирования символа .

Комментарии:

1. что, если мне нужно обновить формат json, например ‘{«URL»:»https://test.myscripts.com//api//Orders//Submit «}’

Ответ №3:

Я думаю, что («») может быть причиной проблемы, потому что является escape-символом. измените его на («\»)

Ответ №4:

выполните два

«\»

это потому, что это escape-символ

Ответ №5:

Вы можете использовать:

 \
  

Это нормально, например:

 if (invName.substring(j,k).equals("\")) {
    copyf=invName.substring(0,j);
}