source

JavaScript - 문자열의 모든 콤마를 바꿉니다.

gigabyte 2023. 2. 1. 21:52
반응형

JavaScript - 문자열의 모든 콤마를 바꿉니다.

여러 개의 콤마를 가진 문자열이 있으며 문자열 치환 메서드는 첫 번째 문자열만 변경합니다.

var mystring = "this,is,a,test"
mystring.replace(",","newchar", -1)

결과:"thisnewcharis,a,test"

문서에는 기본값으로 모두 대체되고 "-1"도 모두 대체됨을 나타내지만 성공하지 못했습니다.무슨 생각 있어?

함수의 세 번째 파라미터는 표준으로 정의되지 않았기 때문에 대부분의 브라우저는 단순히 구현하지 않습니다.

가장 좋은 방법은 정규 표현을 사용하는 것입니다.g(글로벌) 플래그

var myStr = 'this,is,a,test';
var newStr = myStr.replace(/,/g, '-');

console.log( newStr );  // "this-is-a-test"

아직 문제가 있나요?

정규 표현은 이스케이프해야 하는 특수 문자를 사용한다는 점에 유의하십시오.예를 들어 점을 이스케이프할 필요가 있는 경우(.)의 문자를 사용합니다./\./regex 구문에서와 같이 도트는 임의의 단일 문자(행 끝자 제외)와 일치합니다.

var myStr = 'this.is.a.test';
var newStr = myStr.replace(/\./g, '-');

console.log( newStr );  // "this-is-a-test"

변수를 대체 문자열로 전달해야 할 경우 regex 리터럴을 사용하는 대신RegExp오브젝트를 지정하고 문자열을 생성자의 첫 번째 인수로 전달합니다.표준 문자열 이스케이프 규칙(특수 문자 앞에 있음)\문자열에 포함된 경우)가 필요합니다.

var myStr = 'this.is.a.test';
var reStr = '\\.';
var newStr = myStr.replace(new RegExp(reStr, 'g'), '-');

console.log( newStr );  // "this-is-a-test"

재미삼아:

var mystring = "this,is,a,test"  
var newchar = '|'
mystring = mystring.split(',').join(newchar);
var mystring = "this,is,a,test"
mystring.replace(/,/g, "newchar");

글로벌 사용(g) 플래그

간단한 데모

언급URL : https://stackoverflow.com/questions/10610402/javascript-replace-all-commas-in-a-string

반응형