2011-11-13 7 views
0

현재 jquery를 통해 수정해야하는 문자열이 있습니다. 나는 그러나 위의 정규식 단지가 문자열을 입력 변화하고, 하나의 - 문자로 >를 대체하기 위해 노력하고regex를 사용하는 자바 스크립트 정규 표현식이 문자열을 복수 문자로 대체합니다.

$('#breadcrumb').html($('#breadcrumb').html().replace(/&[^;]+;/g, ' - ')); 

 >  "space>space" 

나는 현재 나를 위해 교체 할 수있는 다음과 같은 jQuery를이 --- 대신 -

어떤 도움을 주시면 대단히 감사하겠습니다!

/&[^;]+;/g 

가 찾고 : 정규 표현식 때문이다

답변

2

&  an ampersand, followed by 
[^;]+ one or more characters that are not semicolons, followed by 
;  a semicolon 

그래서  > 모두 패턴과 일치. 두 번째 이후의 끝에있는 g /는 전역 대체를 의미합니다. 해제하면 첫 번째 경기 만 교체됩니다.

당신이 필요합니다 다른 모든 것을 무시하고

.replace(/>/g, '-') 

->의 모든 인스턴스를 변경합니다.

당신은 특별히 할 수있는 몇 가지 방법, 아마도 간단한있는있다가 줄 바꿈하지 않는 공백으로 둘러싸인 경우에만 >를 교체하려면 :

.replace(/ > /g, ' - ') 
0
replace(/>/g, "-") 

당신은 아니에요는 >-으로 바꾸면 &으로 시작하고 ;으로 끝나는 것이 모두 대체됩니다.

g 수정 기호는 하나만있는 경우 필요하지 않습니다.

관련 문제