|
|
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Есть строка в которой в качестве разделителей используются знаки плюса. Я пытаюсь разбить сторку по этим разделителям при помощи сплита, но мне выскакивает егзепшен регекспа перепробовал уже все но не помогает :( Подскажите пожалуйста как можно экранировать этот плюс. Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 03:27:21 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
"\\+" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 10:06:09 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
Если уж захотел писать по-английски, то надо было "искейп последовательность" или ещё более по-английски "искейп ссиквинстельность". Если "+" получается в результате URL кодирования, то применить URL декодирование. Иначе надо подобрать правильное регулярное выражение (ну, "регексп"). Думаю, подойдёт "[+]", хотя самому проверить лень. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 11:16:14 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
Partisan MДумаю, подойдёт "[+]", хотя самому проверить лень. Подошло :)) Всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 12:47:49 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
mayton"\\+" Похоже выражение - утро вечера мудренее работает :) "\\+" тоже подходит, хотя точно помню что всера делал так и не получалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 12:53:52 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
"\\+" это запись в Java регулярного выражения "\+" в котором \ служит чтобы показать, что + надо использовать как обыкновенный символ, а не как специальный символ регулярного выражения. Специальный символ + означает "один или более элементов, находящихся перед ним". "[+]" это регуляное выражение, означающее выбор одного из символов, находящихся в квадратных скобках. В данном случае \ не обязателен по синтакису. Однако если б мы захотели усложнить регулярное выражение, то мог бы понадобиться и там. Например, хотим, чтобы разделителем был + или пробел. Пишем: "[+\s]". А если хотим, чтоб произвольное число + и пробелов, то получается например "[+\s]+". Кратко синтаксис регулярных выражений описан в документации по JDK, см. java.util.Regex (следует туда заглянуть потому что такие простые регулярные выражения там обозрены), подробнее в книжках (можно найти в интернете). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 13:31:37 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
Partisan MКратко синтаксис регулярных выражений описан в документации по JDK, см. java.util.Regex (следует туда заглянуть потому что такие простые регулярные выражения там обозрены), подробнее в книжках (можно найти в интернете). читал :) для экранирования спецсимволов там предлагают использовать \сСпецсимвол, но данная конструкция не работает почемуто, а \\ опсан как экранирование обратного слеша :) хотя может я чего-то не допонял ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 14:42:22 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
Регулярные выражения придуманы не специально для Java. Поэтому если в регулярном выражении тербуется \+ то \ отностится к синтаксису регулярного выражения, а не строки Java. А в строке Java требуется заменять \ на \\, и неважно, изображает ли эта строка регулярное выражение или нет. Поэтому получаем Java строку "\\+" которая изображает собой регулярное выражение \+ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 14:53:29 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
Partisan MРегулярные выражения придуманы не специально для Java. Поэтому если в регулярном выражении тербуется \+ то \ отностится к синтаксису регулярного выражения, а не строки Java. А в строке Java требуется заменять \ на \\, и неважно, изображает ли эта строка регулярное выражение или нет. Поэтому получаем Java строку "\\+" которая изображает собой регулярное выражение \+ Понял, если в регулярном выражении нужно написать "a\+\." то в яве это будет выглядеть как "a\\+\\." Так? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 15:04:22 |
|
||
|
Ескейп последловательность для +
|
|||
|---|---|---|---|
|
#18+
да. А если бы понадобилось написать \ как простой символ, например, надо было разбить строку не по + а по \. Тогда в регулярном выражении вместо \ пишем \\, а преобразуя это в строку Java получаем "\\\\". Поскольку в регулярном выражении легко сделать ошибку, то я обычно делаю простую тестовую программу, чтоб смотреть, что получается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2007, 18:04:58 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34382705&tid=2146419]: |
0ms |
get settings: |
14ms |
get forum list: |
25ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
49ms |
get topic data: |
22ms |
get forum data: |
6ms |
get page messages: |
107ms |
get tp. blocked users: |
3ms |
| others: | 286ms |
| total: | 528ms |

| 0 / 0 |
