gpt4 book ai didi

regex - 如何用R中的 "something plus special characters"替换许多特殊字符

转载 作者:行者123 更新时间:2023-12-02 06:56:56 25 4
gpt4 key购买 nike

我有一个包含“&/?”的句子。

c = "Do Sam&Lilly like yes/no questions?"

我想在每个特殊字符前后添加一个空格

"Do Sam & Lilly like yes / no questions ? "

我只能通过艰难的方式得到这个:

c = gsub("[&]", " & ", c)
c = gsub("[/]", " / ", c)
c = gsub("[?]", " ? ", c)

但是想象一下,我有很多这样的特殊字符,这需要使用 [:alnum:]。所以我真的在寻找一个看起来像这样的解决方案:

gsub("[[:alnum:]]", " [[:alnum:]] ", c)

不幸的是,我不能以这种方式使用 [:alnum:] 作为第二个参数。

最佳答案

您可以使用捕获组引用:

gsub("([&/])", " \\1 ", c)

这里我们将 "&""/" 替换为它们自己 ("\\1"),并用空格填充。 "\\1" 表示“使用模式中的第一个匹配组。匹配组是括号中正则表达式的一部分。在我们的例子中,"([&/])”

您可以通过将符号/特殊字符添加到字符集或放入适当的正则表达式特殊字符来扩展它以涵盖更多符号/特殊字符。

注意:您可能不应该使用 c 作为变量名,因为它也是一个非常常用的函数的名称。

关于regex - 如何用R中的 "something plus special characters"替换许多特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29463495/

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