正在处理情绪分析问题,我正在尝试从推文中排除用户名。例如,具有以下鸣叫。
`Hey @SOCommunity check this out!`
我正试图保留这个
`Hey check this out!`
到目前为止,我已经看到了如何选择用户名@\S+\s+
,并且我尝试使用此表达式^(?!@\S+\s+)\w+
来否定它,该表达式仅捕获Hey
,而忽略了其余部分。
我应该如何编辑表达式以同时捕获其余的推文?
您可以使用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!
我认为您想要的是这样分开的:
@villos hey dude
(user) (twett)
您可以使用它的正则表达式...
^(@.+?)\s+?(.*)$
这里是完整的示例:https://regex101.com/r/tG2vR4/1