2013-01-12 2 views
0

자바 스크립트에서 줄 바꿈을 쉼표로 바꾸려고하는데 코드가 작동하지 않는 것 같습니다. 여기줄 바꿈을 바꾸려면 어떻게해야합니까?

var data = "Series 
Manga 
Games 
Artbooks 
Visual Novels" 
var output = data.replace(/(\r\n|\n|\r)/gm,","); 
alert(output); 

당신은 온라인 버전 http://jsfiddle.net/CBvpS/ 누구나 그것을 해결하는 방법을 알고 볼 수 있습니까?

+3

음, 우선, JA vascript는 끝이 이스케이프되지 않는 한 다중 줄 변수를 가지지 않습니다 ** ** 않습니다. – Daedalus

답변

3

큰 작품 당신의 입력 문자열이 올바른 구문의 경우 :

var data = "Series\nManga\nGames\nArtbooks\nVisual Novels" 
var output = data.replace(/\r?\n/gm,","); 
alert(output); 

http://jsfiddle.net/7V8rg/1/

+1

단순히'/ \ r? \ n/gm'이 아닌 이유는 무엇입니까? – VisioN

+0

@VisioN이 작동합니다. 업데이트 된 질문. – Codeman

2

JavaScript의 줄 끝 부분을 수동으로 (\) 이스케이프하지 않으면 Javascript에 php와 같은 여러 줄 변수가 없습니다. 또한 이것은 줄 바꿈으로 간주되지 않으므로이를 수정하려면 \n을 삽입해야합니다. 그렇지 않은 경우 your code works fine, 약간의 수정이 있긴하지만. 데이터는 예로부터 경우

var data = "Series\n \ 
Manga\n \ 
Games\n \ 
Artbooks\n \ 
Visual Novels"; 
var output = data.replace(/(\r\n|\n|\r)/gm,","); 
alert(output); 

를 적어 둡니다 그러나, 입력 텍스트 영역, 당신은 물론 할 줄의 끝을 탈출에 대해 걱정할 필요하고, 정상적으로는 데이터를 처리 할 수 ​​없습니다.

2

JavaScript에서는 줄 끝에 백 슬래시를 추가하지 않으면 새 줄이있는 문자열을 계속할 수 없습니다. 예를 들어 : 다른 소스에서 일부 텍스트를 검색하고 새로운 라인을 대체하기를 원한다면 그와

var string = "a \ 
string is \ 
here"; 

는 말했다되고, 이런 일이 당신이 필요로하는 모든해야한다 :

string = string.replace(/\n/g, ','); 
+0

정말 대단한데, 사실 Javascript에 대해서는 몰랐습니다. 나는 C#의'@ ""문법에 대해서만 알고있었습니다. – Codeman

관련 문제