2009-07-15 8 views
1

, 자바 스크립트에서

str = 'left ui-tabs ui-widget ui-widget-content center right'; 

은 (str.replace를 호출하여 비 'UI- *'단어를 제거 할 수 있나요) regexp 함께?

str.replace를 호출 한 후 결과는()해야한다 :

str.replace(/ /, '') = 'ui-tabs ui-widget ui-widget-content'; 

는 좀 정규 표현식 패턴을 시도했습니다,하지만 그들은 작동하지 않습니다. 이 정규식을해야합니까

str.match(/ui-[\w-]+/g).join(" ") 
+0

패턴이었다 : /\ B (?! UI -) \ S] + \ B/g 뿐만 아니라 치료 것이다 "\ B를"때문에 작동하지 않았다 "-"A와 단어 경계. – Adios

답변

3

같은 것을 시도 수 있을까요? 당신 이렇게 할 수 있지만 분할/조인 여기에 더 나은 후보처럼 보인다. 내가 시도

+0

잘 작동합니다. 그러나 원래 문자열의 단어가 하나의 공백으로 분리된다는 가정이 있습니다. 이것이 사실이 아니라면 join() 결과는 사용자가 아닌 단어를 제거한 후 기대하는 결과와 같지 않습니다. –

+0

이 가정에서는'str'은 DOM 노드의'className' 속성의 내용 일 가능성이 높으며, Kieran은 그 속성을 통해 눈에 거슬리지 않는 위젯 설정을하려고합니다. –

+0

@Vijay Dev : 맞습니다.하지만 그건 중요하지 않습니다. 그것들은 클래스 이름입니다. 일부는 jquery UI 클래스입니다. 단일 공간에서 합류하는 것은 동일한 결과를 얻는다. 그리고 만약 당신이 구하는 사람이 원하는 것을 보았다면, 그것을 아주 잘 달성 할 수 있습니다. – geowa4

2

: