gpt4 book ai didi

ruby - 将除英文字母和数字以外的所有字符替换为下划线

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

我有一个字符串,我想用下划线替换所有特殊字符。

换句话说,我只想要 26 个英文字母(小写和大写)和 0-9 以及“_”字符。

另请注意,有非英文字符,也需要将其替换为“_”。

在 Ruby 中最优雅的方法是什么?

最佳答案

听起来您想用下划线替换所有非单词字符。因此,

result = subject.gsub(/[^\w]/, '_')

但是您是否认为这也可以替换换行符和其他空白字符?

如果不是,改成

result = subject.gsub(/[^\w\s]/, '_')

解释正则表达式

[^\w\s]                  # any character except: word characters (a-
# z, A-Z, 0-9, _), whitespace (\n, \r, \t,
# \f, and " ")

注意

正如@CarySwoveland 提到的,[^\w] 也可以用简写 \W 来编写。

关于ruby - 将除英文字母和数字以外的所有字符替换为下划线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131025/

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