分開我想要做的正則表達式如下:允許字母,數字和#,替換逗號和空間
1. allow alphanumeric characters
2. allow the # character, and comma ','
3. replace the comma ',' with a space
4. split on space
sentence = "cool, fun, house234"
>> [cool, fun, house234]
分開我想要做的正則表達式如下:允許字母,數字和#,替換逗號和空間
1. allow alphanumeric characters
2. allow the # character, and comma ','
3. replace the comma ',' with a space
4. split on space
sentence = "cool, fun, house234"
>> [cool, fun, house234]
這是一個簡單的方法來做到這一點:
sentence.scan(/[a-z0-9#]+/i) #=> ["cool", "fun", "house234"]
基本上它在尋找包含a
到z
大寫和小寫字符運行,加上0
到9
,並#
,並返回那些。由於逗號和空格不匹配,因此會被忽略。
你沒有使用#
顯示一個例子,但我補充說'因爲你這麼說。
你可以做1和2用正則表達式,而不是3和4
sentence = "cool, fun, house234"
sentence.gsub(',', ' ').split if sentence =~ /[0-9#,]/
=> [ "cool", "fun", "house234" ]
"cool, fun, house234".split(",")
=> ["cool", " fun", " house234"]
您只需通過「」入拼合方法拆分的逗號,沒有必要將其轉換爲空間。
也許,你想要的是這樣嗎?
string.gsub(/[^\w, #]/, '').split(/ +,? +/)
在您的示例中,逗號用作分割點,不會被空格替換。這個問題可能沒有準確的措詞。另外,你應該在''cool''的結果中加雙引號,以表明'cool'不是局部變量,也不是整個括號內的東西就是結果字符串。 – sawa 2011-04-06 02:40:40
'allow'#'和',''是什麼意思?應該使用既不是字母數字,'#',也不是''的字符應該做什麼?如果''允許','什麼意思'變成空格結尾,最終用作分隔符,而'#'不是? – sawa 2011-04-06 02:51:01
我想分割空間,有些人可能會輸入','認爲它是一個分離器,所以我想刪除這些字符或替換一個空格。 – Blankman 2011-04-06 02:56:45