在 python 中使用正则表达式从字符串中删除特定模式
Removing specific pattern from a string using regex in python
我正在尝试使用以下代码删除模式
x = "mr<u+092d><u+093e><u+0935><u+0941><u+0915>"
pattern = '[<u+0-9de>]'
re.sub(pattern,'', x)
输出
mr
这个输出对于给定的样本字符串实际上是正确的,但是当我运行这个代码到语料库时,它删除了所有出现的'de'以及数字等。我想要这些只有在使用 < > 时才会替换东西。
你需要把 <>
放在外面,因为结构总是
- 从
<
开始
- 接下来是
u\+
- 十六进制中的 4 个字符
[0-9a-f]{4}
来自 Unicode 定义
- 以
>
结束
pattern = '<u\+[0-9a-f]{4}>'
re.sub(pattern,'', x)
REGEX DEMO
★ CODE DEMO
我正在尝试使用以下代码删除模式
x = "mr<u+092d><u+093e><u+0935><u+0941><u+0915>"
pattern = '[<u+0-9de>]'
re.sub(pattern,'', x)
输出
mr
这个输出对于给定的样本字符串实际上是正确的,但是当我运行这个代码到语料库时,它删除了所有出现的'de'以及数字等。我想要这些只有在使用 < > 时才会替换东西。
你需要把 <>
放在外面,因为结构总是
- 从
<
开始
- 接下来是
u\+
- 十六进制中的 4 个字符
[0-9a-f]{4}
来自 Unicode 定义 - 以
>
结束
pattern = '<u\+[0-9a-f]{4}>'
re.sub(pattern,'', x)