R 正则表达式。如何删除标点符号前一个句点后的空格
我有一个关于正则表达式的问题。假设我有这根绳子R 正则表达式。如何删除标点符号前一个句点后的空格,r,regex,R,Regex,我有一个关于正则表达式的问题。假设我有这根绳子 "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: " 我想删除句点之后和字符“和删除字符”之前的所有空格 例如句子的这一部分 She was like an eating machine. ”Trump, a man who wants to be president
"She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: "
我想删除句点之后和字符“和删除字符”之前的所有空格
例如句子的这一部分
She was like an eating machine. ”Trump, a man who wants to be president:
应该成为
She was like an eating machine.Trump, a man who wants to be president: "
谢谢大家,正则表达式不容易学。谢谢你的帮助!再见
p、 我使用的是软件R,但我认为这是无关紧要的,因为正则表达式适用于所有编程语言
更新
我解决了我的问题,我想和大家分享,也许我可以帮助别人。我从kaggle下载了关于特朗普和希拉里推特的数据集
在导入Knime(大学项目)上的数据之前,我必须进行一些清理。
除此之外,我已经通过gsub解决了所有编码问题。我终于设法解决了这个问题,用编码UTF-8的R编写了一个csv文件。显然,我在Knime中以相同的编码读取该文件如果需要匹配点和卷曲双引号之间的任意数量的空格(1或更多),可以使用
x <- "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: "
gsub("\\.\\s+”", ".", x)
## => [1] "She gained about 55 pounds in...9 months. She was like an eating machine.Trump, a man who wants to be president: "
请参阅。如果需要在点和卷曲双引号之间匹配任意数量的空格(1个或更多),可以使用
x <- "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: "
gsub("\\.\\s+”", ".", x)
## => [1] "She gained about 55 pounds in...9 months. She was like an eating machine.Trump, a man who wants to be president: "
请参阅。这可能有帮助:
var str = 'She was like an eating machine. "Trump, a man who wants to be president. "New value';
str.replace(/\.\s"/g,".");
这可能有助于:
var str = 'She was like an eating machine. "Trump, a man who wants to be president. "New value';
str.replace(/\.\s"/g,".");
是学习和测试正则表达式的好工具
我要补充的唯一一点是,Wiktor的答案与机器“Trump”不匹配。要匹配点后引号前的任意数量的空格,请使用*
量词:
x <- "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: "
gsub("\\.\\s*”", ".", x)
x是学习和测试正则表达式的好工具
我要补充的唯一一点是,Wiktor的答案与机器“Trump”不匹配。要匹配点后引号前的任意数量的空格,请使用*
量词:
x <- "She gained about 55 pounds in...9 months. She was like an eating machine. ”Trump, a man who wants to be president: "
gsub("\\.\\s*”", ".", x)
这可能会有所帮助:var str='她就像一台吃东西的机器。“特朗普,一个想当总统的人:'str.replace(/\.\s)/g,'”@马可,我的回答对你有用吗?是的,对不起,也有用。我认为你的回答是最有益的这可能会有所帮助:var str=”她就像一台吃东西的机器。“特朗普,一个想当总统的人:'str.replace(/\.\s)/g,'”@马可,我的回答对你有用吗?是的,对不起,也有用。我认为你的回答是最有益的请注意,OP使用的是R,regexr.com仅支持JS正则表达式。例如,[.][^]*?“
在regexr中可以很好地工作,但在R中不起作用。基本R使用TRE-regex-flavor(我不知道这方面有什么好的在线regex测试仪)或PCRE(与perl=TRUE
一起使用时)-然后是一个更好的选择。很好的一点。在pcre模式下学习R兼容正则表达式可能是一个更好的选择。您的JS示例可以通过稍微修改并使用perl模式在R中工作:[.][^]*?“
等于TRE[.].*”
,或者在pcre中使用(?[.].].*”
,或者:gsub(“[.][.][^*.*?”,”,x,perl=TRUE)
。抱歉耽搁了,我分心了。不,[^]
匹配任何字符,不是任何字符,而是星号。无论如何,这已经是多余的了。请注意,OP使用的是R,并且regexr.com只支持JS regex flavor。例如,[.][^]*?“
在regexr中可以很好地工作,但在R中不起作用。基本R使用TRE-regex-flavor(我不知道这方面有什么好的在线regex测试仪)或PCRE(与perl=TRUE
一起使用时)-然后是一个更好的选择。很好的一点。在pcre模式下学习R兼容正则表达式可能是一个更好的选择。您的JS示例可以通过稍微修改并使用perl模式在R中工作:[.][^]*?“
等于TRE[.].*”
,或者在pcre中使用(?[.].].*”
,或者:gsub(“[.][.][^*.*?”,”,x,perl=TRUE)
。抱歉耽搁了,我分心了。不,[^]
匹配任何字符,不是任何字符,而是星号。不管怎么说,这已经太离谱了。