2013-04-05 57 views
1

我有一個字符串的JavaScript數組,其中包含由插入符指示的同義詞。示例如下:如何刪除分隔符和空白或標點符號之間的文本?

  • I'm baffled^bemused by his decision.
  • "Why are you so mean^nasty?" she wailed^moaned.

我要回:

  • I'm baffled by his decision.
  • "Why are you so mean?" she wailed.

/\^([^^]*)\./適用於單個標點符號,但我一直無法得到它爲[.,:;?"' ]功能。我很感激這方面的幫助。

回答

0

你想搜索並用這個正則表達式替換爲空字符串:

\^([^^]*?)(?=[.,:;?"' ]) 

您可以在www.debuggex.com上看到要替換的部分以及正則表達式的詳細視圖。

+0

謝謝。這是一種享受;該鏈接也很有用。也感謝其他貢獻者。 – Shoe 2013-04-05 19:11:49

0

你想使用一個帶有空字符串的String.replace。

要匹配一個「^」後面所有的非空格字符,直到下一個空格,所以正則表達式將

\^[^\s]+ 

編輯:正如在評論中指出,這並未」對標點符號進行調整。

\^\w+ 

應該工作,因爲\ w匹配所有的 「字」 字,即,包括AZ,az,0-9,& _

+0

我懷疑你需要對標點進行調整 – 2013-04-05 18:21:51

2

試試這個:

var str = "Why are you so mean^nasty?"; 
var regex = /\^\w+/; 

var result = str.replace(regex, ''); 

console.log(result); //"Why are you so mean?" 

See it working here

+0

謝謝@MikeM .. – fernandosavio 2013-04-05 18:36:14

相關問題