我正在尝试使用 gsub 替换"?"
和"."
空白空间。
gsub(".", "")
我意识到这是和之间的区别gsub(/./, "")
,但我不知道它是什么。有人可以解释吗?
此外,gsub("?","")
似乎工作,并gsub(/?/,"")
没有工作。我们怎样才能gsub(/?/,"")
工作?
我正在尝试使用 gsub 替换"?"
和"."
空白空间。
gsub(".", "")
我意识到这是和之间的区别gsub(/./, "")
,但我不知道它是什么。有人可以解释吗?
此外,gsub("?","")
似乎工作,并gsub(/?/,"")
没有工作。我们怎样才能gsub(/?/,"")
工作?
gsub("?", "")
匹配文字?
,而gsub(/?/, "")
使用正则表达式来查找匹配项。在正则表达式中,这?
意味着前一个字符可以出现 0 次或 1 次。为了匹配文字?
,您必须将其转义:
gsub(/\?/, "")
另请参阅有关gsub的 ruby 文档
最后,正如上面提到的,/reg/
当"str"
只表示一个字符串时,它表示正则表达式。您的目标是从字符串中删除?
和。.
正则表达式将完成这项工作:
gsub(/[?.]/, '')
您可以在此处阅读有关 ruby regexp的更多信息。在我的示例/[abc]/
中将匹配单个字符a
orb
或c
。
前者是从字面上找到“?” 字符并替换它们,而后者是查找给定字符的 0 或 1 的出现。?
对于正则表达式具有特殊含义,您可以使用/
.