2013-05-06 3 views
0

Я пытаюсь заменить символ \n\ пробелом, но каким-то образом \s не распознается как символ замещения пробега.Подстановка элемента пробелом. (Perl Regex)

$match_to_array =~ s/\n/\s/;

+0

Похожий вопрос/ответ (Java): [Заменить новую строку/вернуться с пространством, используя регулярное выражение] (http://stackoverflow.com/a/11049108/626273) – stema

ответ

3

\s целый класс символов. It can mean , \t, \r, \n, or \f. Вы должны сказать Perl, какой из них использовать. Например, площадь:

$match_to_array =~ s/\n//
         ^^^ 

Или вкладки:

$match_to_array =~ s/\n/\t/ 
         ^^^^ 
+0

Спасибо. Я не знал, что пробел может означать больше, чем просто «пространство». Приветствия. – iridescent

+1

'\ s' - это только класс символов регулярных выражений, который соответствует вкладке, переводу строки, форматированию, возврату каретки и пробелу. В строке с двойными кавычками это просто означает 's', а замещающая часть подстановки - это просто строка с двумя кавычками. – Borodin

Смежные вопросы