2013-05-01 76 views
4

我試圖從字符串中刪除所有長度小於3個字符的單詞。我發現了類似的問題,例如herehere,但接受的答案似乎不適用於我。正則表達式再次 - 從字符串中刪除小的單詞Javascript

我有一個字符串例如。 「ABC d EF

,我想實現 「ABC

的(JS)我目前使用的代碼是:

var myString = "abc d ef"; 
    myString = myString.replace(/\W*\b\w{1,2}\b/, ""); 

...但這個回報「abc ef」並且僅僅移除小詞的第一個實例。 我需要一個「+」在那裏允許多次出現?

有沒有任何正則表達式的大師能夠幫助嗎?

我建立了一個jsfiddle

+1

嘗試像/ \ B \ w ^當你運行'{1,2} \ b/g的 – dandavis 2013-05-01 16:20:03

+0

會發生什麼的myString = myString.replace(/ \ W * \ B \ W {1,2} \ b /,「」);'兩次?你只能得到「abc」嗎? – Izzy 2013-05-01 16:21:41

+0

@Izzy是的,這是有效的,它是全局修改器,使它繼續搜索。 – WheretheresaWill 2013-05-01 16:23:56

回答

4

所有你需要的是將全局修飾符添加到正則表達式。 g,你是金。

var myString = "abc d ef"; 
    myString = myString.replace(/\W*\b\w{1,2}\b/g, ""); 
alert(myString); 
+0

啊是的!愚蠢的錯誤 - 非常感謝。 – WheretheresaWill 2013-05-01 16:22:26

相關問題