분할 또는 결합을 사용하고 싶지 않습니다.첫 번째 하위 요소 만 바꾸기
var str = "cause variety of files";
alert(str.replace(" " , "_"));
출력 위 코드 : "cause_variety of files"
I 추구 출력은 기본적으로
str.replace(/ /g, "_");
에서, replace
함수를 선두를 바꾸 "cause_variety_of_files"
분할 또는 결합을 사용하고 싶지 않습니다.첫 번째 하위 요소 만 바꾸기
var str = "cause variety of files";
alert(str.replace(" " , "_"));
출력 위 코드 : "cause_variety of files"
I 추구 출력은 기본적으로
str.replace(/ /g, "_");
에서, replace
함수를 선두를 바꾸 "cause_variety_of_files"
이 코드를보십시오. 따라서 global
플래그가있는 RegExp를 사용해야합니다.
당신은 여기 단골 식에 자세히 알아볼 수 있습니다 : https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions
"정규식을 사용해야합니다."반드시 정규식의 기능에 대해 설명하지 않습니다. 더 설명해야합니다. –
어떻게 작동하는지 설명해 주시겠습니까? –
방금 내 대답을 편집했습니다 – Magus
여러 공간
str.replace(/\s+/g,'_');
또는 단일 공간이 시도
str.replace(/\s/g,'_');
'시험해보십시오 '는 질문자에게 아무것도 가르치지 않습니다. 당신이 한 일과 왜 그렇게해야 하는지를 설명하십시오. 그렇지 않으면 좋은 대답이 아닙니다. –
정규 표현식과 replace()
기능을 사용해보십시오 :
$(document).ready(function() {
var elem = "cause variety of files";
console.log(elem.replace(/\s+/g, '_'));
});
정규식은 \ s + 패턴을 사용하여 모든 공백 (1 이상)을 취해 원하는 문자열로 바꾸십시오. 귀하의 경우 밑줄.
디버그 문과 같이'alert()'를 사용하면 안됩니다. 'console.log()'는 디버깅을 위해 사용되어야합니다 (또한 실행을 일시 정지해야하는 경우 dev 도구에서 중단 점을 사용할 수 있기 때문에). 또한 귀하의 정규식이 무엇을 설명하십시오 –
@ JoaoPalma - 네 말이 맞아. 내가 분할을 사용하지 않고도 질문을 먼저 읽으십시오. –
정규 표현식이있는 솔루션이 너무 많습니다. 대부분의 upvotes –
에 대한 답변을 볼 수 있습니다. 정보입니다. 감사합니다. –