2014-11-10 4 views
0

У меня есть строка этой формы:Регулярного выражения для удаления пробелов между границами

101 E 11th St #201 B, Austin, TX 78702 

Я хочу, чтобы удалить пустое пространство между знаком фунта и первой запятой, так что строка будет это:

101 E 11th St #201B, Austin, TX 78701 

Я знаю, как заменить строку в Ruby, но я не знаю, что регулярное выражение соответствует только пробелам между этими двумя символами.

+0

Руби. Я знаю команду для замены строки, я просто не знаю, как сопоставить только определенные символы между двумя границами. –

+0

Запятая после 'TX' ушла. Это предназначено? – falsetru

+0

Не должно быть в первой строке. FIXT. –

ответ

2

Вы можете использовать функцию обратного вызова, чтобы сделать это ...

s = '101 E 11th St #2 01 B, Austin, TX 78702' 
s.sub(/#[^,]+/) {|m| m.gsub(/\s/, '')} 
# => "101 E 11th St #201B, Austin, TX 78702" 
+0

Да, это работает. Если у кого-то еще есть другие решения, я также проверю их. –

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