Что межплатформенный regex должен заменить окончание строки?

У меня есть строка как "foo\nbar", но в зависимости от платформы, которая могла стать "foo\n\rbar",или что бы то ни было. Я хочу заменить новые строки ", ". Существует ли хорошее (php) regex, это сделает это для меня?

5
задан sprugman 29 January 2010 в 23:18
поделиться

3 ответа

Попробуйте регулярное выражение (?: \ R \ N | [\ r \ n]) :

preg_replace('/(?:\r\n|[\r\n])/', ', ', $str)
5
ответ дан 14 December 2019 в 13:36
поделиться

Вы не хотите использовать Regex для простого замены, такого. Обычные функции замены строки обычно намного быстрее. Для перерыва линий вы можете использовать постоянную константу Php_eol , например.

str_replace(PHP_EOL, ', ', $someString);

В Windows это заменит \ R \ N . На Mac \ R и на всех других системах \ N .

2
ответ дан 14 December 2019 в 13:36
поделиться

не будет Str_replace (Array («\ N», «\ R»), «», $ String) Работа?

-1
ответ дан 14 December 2019 в 13:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: