我正在尝试标记具有以下两种模式的字符串:
为此,我尝试了( doc ) 中的word_tokenize()函数。但是,当涉及表情符号时,它不会拆分连续的实体。nltk
例如,
from nltk.tokenize import word_tokenize
word_tokenize("Hey, ")
Run Code Online (Sandbox Code Playgroud)
输出: ['Hey', ',', '']
我想得到: ['Hey', ',', '', '']
和
word_tokenize("surprise !!")
Run Code Online (Sandbox Code Playgroud)
输出: ['surprise', '!', '!']
我想得到 ['surprise', '', '!', '!']
因此,我在想也许使用特定的正则表达式模式可以解决问题,但我不知道使用什么模式。
我有以下字符串:abcd=efgh并且我想将=get之前的所有字符大写ABCD=efgh。
阅读了很多帖子后,我尝试了以下方法:
echo "abcd=efgh" | sed -r 's/^(.*)=/\U\1\E=/'
但这返回:
UabcdE=efgh
因此,使用该命令,我可以捕获正确的组,但\U捕获组不会大写。任何想法?谢谢!