【发布时间】:2019-07-23 07:25:22
【问题描述】:
我有下一个字符串:
'foo-bar'
'foo - bar'
'foo -bar'
'foo-bar'
'foo-bar-baz'
'foo - bar -baz'
'foo-bar baz'
等等
在 ruby 中,让连字符周围没有空格的最佳方法是什么? 不带连字符的单词之间应保留空格。
预期结果示例: '富吧' 'foo-bar-baz' 'foo-bar baz'
【问题讨论】:
-
"foo-bar -baz - blerp blorp".gsub(/\s+(?=-)|(?<=-)\s+/, &:strip) #⇒ "foo-bar-baz-blerp blorp". -
所有答案都使用
str.gsub(/\s*-\s*/, '-')的一些变体,但假设str = "my - oh-\n my"。然后str.gsub(/\s*-\s*/, '-') #=> "my-oh-my",这是不正确的。如果您想删除连字符周围的空格,请删除空格,而不是空格:str.gsub(/ *- */, '-') #=> "my-oh-\n my".