Я хочу заменить «\», который появляется в каталоге каталога Windows, на «/». Я попытался использовать s//\////g
, но это не похоже на трюк.Как заменить «» на «//» в Perl?
ответ
Я думаю, что это нужно сделать, это: `
$str =~ s{\\}{//}g;
s[\\][//]g
- \ нужно экранировать в регулярном выражении
- /не
- Избегайте использования/разграничить регулярных выражений секции при использовании/в самом выражении (это делает вещи намного более читаемым!)
... но вы, вероятно, должны использовать что-то вроде Path::Class.
s [\\\] [//] g на «C: \ Documents and Settings \ fixxxer \ Desktop \ abc" дает мне = C: Documents and SettingsfixxxerDesktopabc. Помощь! – fixxxer
\ является escape-символом в строке с двойными кавычками. Поэтому '' C: \ Documents "' пытается интерпретировать '\ D' как особую вещь, например' \ n' для новой строки. Но нет '\ D', поэтому его просто выходит как' D'. Если вы включите предупреждения, Perl сообщит вам «Unrecognized escape». Используйте одинарные кавычки, которые не избегают (почти) чего-либо. Также убедитесь, что ваш ввод - это то, что вы думаете, это простой оператор печати. PS Я бы рекомендовал Path :: Class вместо этого, гораздо более полный и надежный. – Schwern
Использование 's {\\} {//} g' с фигурными скобками, вероятно, является * немного более стандартным, но не слишком большим. Вы можете использовать все виды мусора в качестве разделителей для оператора 's'. :) – fennec
Прежде всего, использование другого разделителя, кроме \
, сделает ваше регулярное выражение более удобочитаемым.
Затем вы должны заменить \
с \\
, или он будет использоваться, чтобы избежать следующий символ (/
в регулярном выражении вы используете).
$link =~ s|\\|//|g;
Я думаю, что это более читаемо, чем [] [] – user105033
- 1. Как заменить на & perl?
- 2. Как заменить строку на Perl?
- 3. Как заменить даты на Perl?
- 4. Как заменить aeiou на bfjpv в Perl?
- 5. Perl: как заменить переменную на ее значение
- 6. Многострочный поиск заменить на Perl
- 7. perl заменить место на вкладку
- 8. Заменить â € ™ в Perl
- 9. Заменить M на MB1 в perl
- 10. Regex заменить + на _plus в Perl
- 11. Как заменить хеш-ключ Perl?
- 12. Perl встроенный заменить фактор
- 13. Как получить доступ и заменить в perl?
- 14. Perl newline заменить
- 15. Perl: заменить последовательные цифры на их счет
- 16. Perl regex заменить на символы UTF-8
- 17. как заменить»с в Perl
- 18. как заменить пространство с запятой в Perl
- 19. Как заменить материал в регулярном выражении Perl
- 20. Как заменить выраженное выражение в Perl?
- 21. Как заменить "с " в Perl
- 22. Perl заменить регулярное выражение
- 23. Perl заменить переменной
- 24. Как добавить время и заменить его в файле на Perl?
- 25. Как заменить запятые на & в следующей строке с помощью Perl?
- 26. Как заменить строки в середине файла на Perl?
- 27. Как я могу заменить все £ в файле £ на Perl?
- 28. Как заменить токен на увеличение числа в Perl?
- 29. как заменить середину строки в файле на языке Perl
- 30. Как заменить одну подстроку на другую в Perl?
Включите предупреждения и вы будете знать, просветление. – Schwern
:) сделаю, Schwern. – fixxxer
Вы говорите, что хотите, чтобы 'C: \ foo \ bar' стал' C: // foo // bar'? –