모든 공백 문자를 교체하십시오


답변:


315

당신이 원하는 \s

공백, 탭, 용지 공급, 줄 바꿈을 포함한 단일 공백 ​​문자와 일치합니다.

에 해당

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

에서 파이어 폭스[ \f\n\r\t\v]IE .


str = str.replace(/\s/g, "X");

41
replace함수가 수정하지 않았다는 것을 기억하기 위해 +1 str이므로 다시 할당해야합니다.
FishBasketGordo

1
함수에서 str.replace를 반환 할 수 있으므로 해당 범위에서 할당 할 필요가 없습니다.
Steve K

R 사용에 대한 기억 perl = TRUE처럼gsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

30

\s모든 공백을 포함하는 메타 문자입니다. 대소 문자를 구분하지 않아도됩니다. 공백에는 대소 문자가 없습니다.

str.replace(/\s/g, "X")

19

하나의 문자로 여러 개의 결합 된 공백을 모두 변경하려는 경우에도 사용할 수 있습니다.

str.replace(/\s+/g,'X');

https://regex101.com/r/d9d53G/1 에서 실제로 확인하십시오.

설명

/ \s+/ g

  • \s+공백 문자와 일치합니다 (와 동일 [\r\n\t\f\v ]).
  • + Quantifier — 가능한 한 많은 시간과 가능한 한 많은 시간을 일치시켜 필요한만큼 욕심을줍니다 (욕심쟁이)

  • 글로벌 패턴 플래그
    • g 개질제 : g 로발. 모든 경기 (첫 경기 후에는 복귀하지 않음)


4

당신이 사용하는 경우

str.replace(/\s/g, "");

모든 공백을 대체합니다. 예를 들면 다음과 같습니다.

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"


3

/ gi가 아니라 / g

var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);

준다

"My_Family_File.jpg"

1

실제로 그것은 효과가 있었지만

이것을 시도하십시오.

/ \ s / g 값을 다음과 같은 문자열 변수로 가져옵니다.

String a = /\s/g;

str = str.replaceAll(a,"X");

어디서 왔어요 replaceAll?
Ionel Lupu

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.