gpt4 book ai didi

ruby - 在 Ruby 中的字母和数字之间插入空格

转载 作者:太空宇宙 更新时间:2023-11-03 17:02:13 25 4
gpt4 key购买 nike

我正在格式化地址列表,例如:

New york city23 b
Miami 355c

我需要他们看起来像

New York City 23 B
Miami 355 C

问题是在字母+数字组合前后添加空格。我提出了以下正则表达式来突出问题区域:

/\p{L}\d|\d\p{L}/

但是我缺少在它们之间实际放置空格的逻辑。现在代码看起来像

"moscow city46 d".titleize.gsub(/\p{L}\d|\d\p{L}/, ' \0')
# titleize is a Rails method

输出

Moscow Cit y46 D

最佳答案

既然您使用了 titleize,我假设您不介意使用其他 ActiveSupport 方法。它不像某些人那样“聪明”,但是String#squish ,用一个空格替换连续的空格,这是一个非常简单的解决方案:

str.gsub(/\d+/, ' \0 ').squish.titleize

Ruby(没有 Rails)有一个类似的 String#squeeze方法,但与 squish 不同,它不会修剪前导和尾随空格,因此它必须与 String#strip 结合使用.

关于ruby - 在 Ruby 中的字母和数字之间插入空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43372399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com