使用正则表达式从句子中删除非字母单词
Remove non-alphabetic words from a sentence using regex
是否可以删除句子中不包含 a-z 字母的单词?我考虑过消极的环顾四周,但没有成功。
例如,
This is a 1-2-a3 sample 12 -- 7-8 sentence
变成
This is a 1-2-a3 sample sentence
假设除破折号外的所有其他标点符号都已删除。
谢谢!
下面的正则表达式将匹配那些不包含字母的单词。
(?<!\S)[^a-zA-Z\s]+(?!\S)
只需将那些匹配的词替换为空字符串即可获得所需的输出。 (?<!\S)
negative lookbehind 断言匹配之前不会有非 space 字符。 (?!\S)
否定前瞻断言匹配后不会跟非 space 字符。
是否可以删除句子中不包含 a-z 字母的单词?我考虑过消极的环顾四周,但没有成功。
例如,
This is a 1-2-a3 sample 12 -- 7-8 sentence
变成
This is a 1-2-a3 sample sentence
假设除破折号外的所有其他标点符号都已删除。
谢谢!
下面的正则表达式将匹配那些不包含字母的单词。
(?<!\S)[^a-zA-Z\s]+(?!\S)
只需将那些匹配的词替换为空字符串即可获得所需的输出。 (?<!\S)
negative lookbehind 断言匹配之前不会有非 space 字符。 (?!\S)
否定前瞻断言匹配后不会跟非 space 字符。