gpt4 book ai didi

Ruby 正则表达式 - 用文本中间的空格替换点

转载 作者:数据小太阳 更新时间:2023-10-29 07:05:00 26 4
gpt4 key购买 nike

我有一个很长的文本,我想用空格替换其中的点,但只能在文本的中间。例如:

Domain:...................google.com

我需要这样:

Domain:                   google.com

我发现了这个用单个空格替换点的正则表达式:

str.gsub!(/(?<=:)\.+(?=[^\.])/, ' ')

但这还不够,因为它会产生:

Domain: google.com

我需要保留与点一样多的空格。你会如何解决?

最佳答案

你快到了,你的正则表达式没问题,只需使用 String#gsub 的 block 版本计算替换匹配的长度:

▶ str = 'Domain:...................google.com'
#⇒ "Domain:...................google.com"
▶ str.gsub(/(?<=:)\.+(?=[^\.])/) { |m| ' ' * m.length }
#⇒ "Domain: google.com"

关于Ruby 正则表达式 - 用文本中间的空格替换点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39973522/

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