在RapidMiner中使用正则表达式从推文中排除用户名

问题描述 投票:-1回答:2

正在处理情绪分析问题,我正在尝试从推文中排除用户名。例如,具有以下鸣叫。

`Hey @SOCommunity check this out!`

我正试图保留这个

`Hey check this out!`

到目前为止,我已经看到了如何选择用户名@\S+\s+,并且我尝试使用此表达式^(?!@\S+\s+)\w+来否定它,该表达式仅捕获Hey,而忽略了其余部分。

我应该如何编辑表达式以同时捕获其余的推文?

regex twitter regex-negation rapidminer
2个回答
1
投票

您可以使用sed替换文本中的用户名。 sed命令sed 's/@[a-zA-Z0-9]* //'

Ex:

 echo 'Hey @SOCommunity1 check this out!' | sed 's/@[a-zA-Z0-9_]\{1,15\} //'

输出:

Hey check this out!

0
投票

我认为您想要的是这样分开的:

@villos hey dude
(user)  (twett)

您可以使用它的正则表达式...

^(@.+?)\s+?(.*)$

这里是完整的示例:https://regex101.com/r/tG2vR4/1

© www.soinside.com 2019 - 2024. All rights reserved.