2012-10-15 2 views
1

jQuery 텍스트 함수를 사용하여 많은 캐리지 리턴/줄 바꿈 시퀀스가 ​​포함 된 문자열을 받았습니다.JavaScript를 사용하여 한 줄 바꿈으로 캐리지 리턴/줄 바꿈 시퀀스를 대체하는 방법은 무엇입니까?

예 : "\ r \ n \ r \ n \ r \ n 환영합니다 Bob \ r \ n \ t \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n 권장 사항 : Hellot \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n \ r \ n "

자바 스크립트를 사용하여 시퀀스 대신 단 하나의 줄 바꿈을 사용할 수 있습니까? 아마도 함수를 바꾸시겠습니까?

답변

2

사용하여 캐리지 리턴/줄 바꿈 주위의 모든 공백과 일치 모두 \n로 교체합니다.

+0

이 스크립트는 작동했습니다. 감사합니다. –

1

JavaScript 바꾸기 기능은 첫 번째 일치 항목 만 대체합니다. 당신이 원하는 것을 얻기 위해서는 정규식을 사용해야합니다.

str.replace(/(\r\n[ \t]*)+/g, "\r\n");

보다 광범위한 SO here 대답. 정규식에 대한

: (\r\n[ \t]*)+ :

str.replace(/\s*?[\r\n]\s*/g, "\n"); 

(  # start group 
\r\n  # match your newlines 
[ \t]* # match zero or more spaces and tabs 
)   # end group 
+   # match all the above once or more times 
관련 문제