Ruby 如何使用正则表达式在每个字母前加上符号
我有这样的字符串时间格式:Ruby 如何使用正则表达式在每个字母前加上符号,ruby,regex,Ruby,Regex,我有这样的字符串时间格式:d-m-Y H:I。我想这样格式化它:%d-%m-%Y%H:%I 如何使用正则表达式在每个字母前面加上% sorted 'd-m-Y H:i'.gsub(/[a-zA-Z]+/) { |sym| "%#{sym}" } str = "d-m-Y H:i" str.gsub(/[a-z]/i, '%\0') # => "%d-%m-%Y %H:%i" 在替换字符串'%\0'中,\0表示整个匹配,在本例中是匹配的字母,因此这表示,“将每个字母替换为一个%,后跟字母
d-m-Y H:I
。我想这样格式化它:%d-%m-%Y%H:%I
如何使用正则表达式在每个字母前面加上
%
sorted 'd-m-Y H:i'.gsub(/[a-zA-Z]+/) { |sym| "%#{sym}" }
str = "d-m-Y H:i"
str.gsub(/[a-z]/i, '%\0')
# => "%d-%m-%Y %H:%i"
在替换字符串
'%\0'
中,\0
表示整个匹配,在本例中是匹配的字母,因此这表示,“将每个字母替换为一个%
,后跟字母。”这是使用字符串#gsub
的基本方法:
str = "d-m-Y H:i"
str.gsub(/[a-z]/i, '%\0')
# => "%d-%m-%Y %H:%i"
在替换字符串'%\0'
中,\0
表示整个匹配项,在本例中是匹配的字母,因此表示“将每个字母替换为一个%
,后跟字母。”
这是这样的:“用字符“%”替换每个后跟小写或大写字母的空字符串。”<代码>(?=[a-z])是一种积极的前瞻性
这是这样的:“用字符“%”替换每个后跟小写或大写字母的空字符串。”<代码>(?=[a-z])是一个积极的前瞻。我不知道
\0
。很高兴知道。我翻遍了医生们寻找,但结果却是空的。你知道记录在哪里吗?(例如,我确实在别处找到了它的参考资料。)@CarySwoveland-Huh。它似乎没有被记录下来。我不知道我是怎么发现的。我不知道\0
。很高兴知道。我翻遍了医生们寻找,但结果却是空的。你知道记录在哪里吗?(例如,我确实在别处找到了它的参考资料。)@CarySwoveland-Huh。它似乎没有被记录下来。我不确定我是如何发现的。虽然这段代码可能会回答这个问题,但提供关于为什么和/或如何回答这个问题的额外上下文将显著提高其长期价值。请在您的答案中添加一些解释。尽管此代码可能会回答此问题,但提供有关为什么和/或如何回答此问题的其他上下文将显著提高其长期价值。请在您的回答中添加一些解释。