2015-07-03 3 views
0

Если у меня есть строка, содержащая символы валюты, как я могу отделить символ от строки? Предположим, символ может быть где угодно в строке (то есть. Спереди, сзади, через пробел)Как отделить символы от строки?

"$5"  => "$", "5" 
"50,000₩" => "₩", "50,000" 
"€307" => "€", "307" 

Возможно ли это с помощью регулярных выражений? Любые указатели или предложения были бы оценены!

+0

Сколько символов в строке? Один или несколько? – texasbruce

+0

Определите, что вы подразумеваете под символами. – sawa

+0

Не должно быть более одного, но это может быть почти что угодно. – CheeseFry

ответ

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,]/, '') вероятно, будет делать хорошо.

+0

Это сделает эту работу. Спасибо за предложение. – CheeseFry

Смежные вопросы