2012-02-02 5 views
6

내가 줄 바꿈을
태그 확인하기 위해 다음과 같은 정규식을 사용정규식 r에를 제거하고 n 또는 연구 n

str.gsub("\r\n", '<br>') 

이 바탕 화면에 잘 작동합니다. 아이폰 텍스트에는 \ n 만 있고 \ r는 없습니다.

정규 표현식 지원을 어떻게 만들 수 있습니까? \ r \ n 아니면 그냥 \ n?

감사

+1

Ruby를 모르지만 표준적인 것은 str.gsub ("\ r? \ n", '
')입니다. 시도 해봐. – Cheery

+0

고마워, 시도했지만 작동하지 않았다. str = str.gsub ("\ r? \ n", '
') 아무 것도 br 태그가 없습니다. – AnApprentice

답변

8

\r\n|\r|\n

줄 끝. 정규 표현식은 욕심이 많으므로 가능한 경우 개별 표현과 반대가되는 \r\n과 일치합니다.

+0

그게 작동하지 않았나요? str = str.gsub ("\ r \ n | \ r"\ n ", '
') – AnApprentice

+0

나는 약간의 일을했지만 .. 지금은 2 명의 BR이있다. str = str.gsub (/ \ r \ n | \ r | \ n /, '
') – AnApprentice

+0

흠, 이상합니다. 만약 당신이 처음에'\ r \ n '으로 바꾸면 더 신뢰할 수있을 것입니다. 그리고 정규식의 혼동을 피하기 위해서'\ r | \ n'으로 다시 호출하십시오. –

1

? 운영자는 0 받아들이거나 이전 요소 중 하나는 너무 \r?\n는 받아 들여야한다 정규 표현식은 또한 단독 \r를 사용하는 맥 지원 할 것 \r or \n or \r\n

+0

그건 작동하지 않았습니다. 지금은 어느 것도 일치하지 않습니까? str = str.gsub ("\ r? \ n", '
') – AnApprentice

+0

? \ n을 따라 가야합니다. 이 경우 자격/제한 기간이 지나야합니다. 그대로, 그것은 '\ r'을 예선합니다. 'str = str.gsub (/ \ r (\ n)? /, '
')' – aenw

12

나는

str.gsub(/\r?\n/, '<br>') 

\n 또는 \r\n 일치합니다 작업

+0

고마워요.하지만 작동하지 않았습니다. str = str.gsub ("/ \ r? \ n /", '
') – AnApprentice

+1

@AnApprentice 괄호로 쓴 사람은 정규식을 사용하지 않아야합니다. Ruby – Cheery

+1

첫 번째 매개 변수에는 큰 따옴표 (")를 사용하지 마십시오. – barley

0

\r?\n|\r

\r?\n을한다고 생각합니다.

\r은 단지 \r과 일치합니다.

이것은 Windows \ Mac \ Linux EOL에서 작동합니다. 맥/리눅스/Windows 용

str.gsub(/\R/, '<br>') 

/\R/ 작품과 이국적인 유니 코드 줄 바꿈이 포함

1

이것은 아마도 가장 쉬운 방법입니다.

+1

좋은 감사합니다! 또한 기억하기 쉽고 강력합니다. –

관련 문제