자바스크립트 문자열에서 순방향 슬래시를 글로벌하게 대체하는 방법은?
자바스크립트 문자열에서 순방향 슬래시를 글로벌하게 대체하는 방법은?
다음과 같은 경우만 해당되지만 한 가지 경우만 대체됩니다.
"string".replace('/', 'ForwardSlash');
전역적으로 대체하거나 정규식을 선호하는 경우 슬래시를 피하기만 하면 됩니다.
"string".replace(/\//g, 'ForwardSlash');
다음과 함께 regex 리터럴 사용g
modifier, 그리고 구분 기호와 충돌하지 않도록 백슬래시를 사용하여 앞으로 슬래시를 탈출합니다.
var str = 'some // slashes', replacement = '';
var replaced = str.replace(/\//g, replacement);
교차 브라우저 문제나 //댓글 아웃을 방지하려면 앞으로 슬래시를 래핑해야 합니다.
str = 'this/that and/if';
var newstr = str.replace(/[/]/g, 'ForwardSlash');
regex를 사용하지 않고(검색 문자열이 사용자 입력인 경우에만 이 작업을 수행함):
var str = 'Hello/ world/ this has two slashes!';
alert(str.split('/').join(',')); // alerts 'Hello, world, this has two slashes!'
이게 네가 원하는 거야?
'string with / in it'.replace(/\//g, '\\');
이것은 나에게 효과가 있었습니다."//"
딱 맞게"/"
.
str.replace(/\/\//g, '/');
안녕하세요 위 스크립트에서 작은 수정..위 스크립트는 출력을 표시할 때 첫 번째 문자를 건너뜁니다.
function stripSlashes(x)
{
var y = "";
for(i = 0; i < x.length; i++)
{
if(x.charAt(i) == "/")
{
y += "";
}
else
{
y+= x.charAt(i);
}
}
return y;
}
이것은 크리스토퍼 링컨의 생각이지만 코드는 정확합니다.
function replace(str,find,replace){
if (find){
str = str.toString();
var aStr = str.split(find);
for(var i = 0; i < aStr.length; i++) {
if (i > 0){
str = str + replace + aStr[i];
}else{
str = aStr[i];
}
}
}
return str;
}
사용 예시:
var somevariable = replace('//\\\/\/sdfas/\/\/\\\////','\/sdf','replacethis\');
자바스크립트 글로벌 문자열 교체는 불필요하게 복잡합니다.이 기능은 그 문제를 해결해 줍니다.성능에 미치는 영향은 적겠지만 무시해도 될 것 같습니다.
여기에 대체 기능이 있습니다. 훨씬 더 깨끗해 보이지만 위 기능보다 평균적으로 약 25~20% 느립니다.
function replace(str,find,replace){
if (find){
str = str.toString().split(find).join(replace);
}
return str;
}
var str = '/questions'; // input: "/questions"
while(str.indexOf('/') != -1){
str = str.replace('/', 'http://stackoverflow.com/');
}
alert(str); // output: "http://stackoverflow.com/questions"
제안된 정규식/\//g
나에게는 통하지 않았습니다; 나머지 라인(//g, replacement);
)에 대해서는 코멘트를 하였습니다.
를 생성할 수 있습니다.RegExp
좀 더 가독성 있게 하기 위한 목적.
str.replace(new RegExp('/'), 'foobar');
모두 교체하려면 다음을 추가합니다."g"
깃발을 올리다
str.replace(new RegExp('/', 'g'), 'foobar');
의 대안.'/'.replace(/\//g, 'Replaced')
그럴 수도 있겠지요
'/'.split('/').join('Replaced')
언급URL : https://stackoverflow.com/questions/4566771/how-to-globally-replace-a-forward-slash-in-a-javascript-string
'programing' 카테고리의 다른 글
데이터베이스 백업을 위한 리눅스 셸 스크립트 (0) | 2023.10.30 |
---|---|
MySQL에서 테이블 이름을 저장 프로시저 및/또는 함수 인수로 전달하는 방법은 무엇입니까? (0) | 2023.10.30 |
0과 1사이의 신속한 무작위 유동 (0) | 2023.10.30 |
도커 디버깅은 mariadb 상태 점검을 구성합니다. (0) | 2023.10.30 |
필수 범주의 제품이 카트에 있는 경우에만 체크아웃 허용 (0) | 2023.10.30 |