2011-02-03 60 views
2

我需要更換像所有的字符串:「我愛[RüB Y形正則表達式」,由「我愛紅寶石的正則表達式」如何使用regexp將「t x t」替換爲「text」?

(即分組單封成字)

你會怎麼做呢?

+1

你能更正式地解釋你需要什麼嗎?比如說y你需要合併「只是你」還是所有單詞都是這樣分裂的?你試過了什麼,你的代碼有什麼問題? – thkala 2011-02-03 10:17:33

+0

對您的示例字符串起作用的一種粗略啓發式方法是,將所有連續出現的單個字母替換爲由這些字母組成的單詞。我會把它留給別人用Ruby來表達。 – 2011-02-03 10:19:50

回答

3

像這樣?

/(\b\w\b)\s+(?=\b\w\b)/\1/g 

(我不這樣做的Ruby,不過這可能轉化爲:

"i love r u b y regexp".gsub(/(\b\w\b)\s+(?=\b\w\b)/, "\\1") 

在線版本:http://rubular.com/r/5e1jTl7MiV

如果你只想要一個字母后刪除空單,那麼以下可能是你想要的:

(/\b\w\b\s)(?=(?:\s+|\b\w\b))/ 
相關問題