如果我有一个包含货币符号的字符串,我该如何将该符号与字符串分开?假设符号可以在字符串中的任何位置(即前,后,后空格)
"$5" => "$", "5"
"50,000₩" => "₩", "50,000"
"€307" => "€", "307"
这可以使用正则表达式吗?任何指针或建议将不胜感激!
答案 0 :(得分:2)
可能有更好的方法来做到这一点,但
str.scan(/\w/).join('')
会为您提供字母数字字符和
str.scan(/\W/).join('')
会为您提供非字母数字字符。
\w
与[a-zA-Z0-9_]
相同,\W
为[^a-zA-Z0-9_]
。
由于您的示例中有"50,000₩" => "₩", "50,000"
,您可能需要:
str.scan(/[a-zA-Z0-9_,]/).join('')
另外,如果你知道你只有数字,那么str.gsub(/[^0-9,]/, '')
可能会很好。