2016-06-16 5 views
-1

에 구분 string :만들기 문자열 쉼표 내가 가진 자바 스크립트

var myStr = 'This is a test'; 

나는 그것이 JavaScript 통해 쉼표로 구분하기 때문에 같은 싶습니다 :이 작업을 수행하는 가장 좋은 방법은 무엇

var myNewStr = 'This, is, a, test'; 

통해 JavaScript?

나는 내가 지금처럼 쉼표를 트리밍 할 수 알고 :

var myStr = myNewStr.split(','); 

그리고 그 날이 줄 것이다 :

myStr = 'This is a test'; 

하지만 쉼표를 추가하여, 물론 반대를 할 걸려 라. ..

+0

무엇을 '' '이것은 테스트입니다'와 같은 문자열의 끝에 후행 공백이있는 경우, 그것은 '이게,가요, 시험입니까?' – RomanPerekhrest

+0

@Roman 짐작하지 말아야합니다. – nicael

답변

3

그냥 정규식으로 대체 할 수 - 난 t는 짧아서 나눌 필요가 없습니다.

var myNewStr = myStr.replace(/ /g,', '); 

앞/뒤 공백이있는 문자열을 직면 할 수있는 경우에는 미리 잘라냅니다.

var myNewStr = myStr.trim().replace(/ /g,', '); 
2

이 시도 - var myNewStr = myStr.split(' ').join(', ')

1

긍정적 인 미리보기가있는 정규식을 사용하고 쉼표로 바꿀 수 있습니다.

console.log('This is a test'.replace(/(?= .)/g, ',')); 
 
console.log('This is a test '.replace(/(?= .)/g, ','));

0

사용 String.replace :

var myStr = 'This is a test'; 
var myNewStr=myStr.replace(/ /g,', '); 
+0

늦게, 이미 게시했습니다 :) – nicael

0

은 쉼표로 공간을 대체하는 기능을 대체 사용할 수 있습니다

VAR myStr = myNewStr.replace를 ('', ',');

당신은 또한 사용할 수 있습니다

VAR myStr = myNewStr.split ('');

+0

첫 번째 공백은 쉼표로 첫 번째 공백으로 바뀌고 더 이상 진행되지 않으며 두 번째 문자열은 배열이 아닌 문자열을 반환합니다. – nicael

0

표준 방법을 사용하지 않고이를 수행하는 방법입니다.

var myStr = "THIS IS A TEST"; 
 
before.innerHTML = myStr; 
 
var parts = []; 
 
var buffer = ''; 
 
for(var i = 0; i < myStr.length; i++) { 
 
    if(myStr[i] == ' ') { 
 
     parts.push(buffer); 
 
     buffer = ''; 
 
     continue; 
 
    } else { 
 
     buffer += myStr[i]; 
 
    } 
 
} 
 

 
parts.push(buffer) 
 
var myNewStr = parts.join(', '); 
 

 
after.innerHTML = myNewStr;
<div><b>Before</b></div> 
 
<div id="before"></div> 
 
<div><b>After</b></div> 
 
<div id="after"></div>

0

String.trimString.replace 기능을 사용하여 솔루션 :

var myStr = ' This is a test ', 
    myNewStr = myStr.trim().replace(/([^\s]+\b)(?!$)/g, "$&,"); 
    // $& - Inserts the matched substring.  

console.log(myNewStr); // "This, is, a, test" 
관련 문제