【发布时间】:2020-09-15 11:41:21
【问题描述】:
当字符串在随机位置添加空格时,如何编写正则表达式来匹配字符串中的特定单词?
我有一个从具有表格结构的 pdf 文档中提取的字符串。由于该结构,提取的字符串包含随机插入的新行和空格。我正在寻找的特定单词和短语都以正确的顺序排列,但是用空格随机切碎。例如:“堆栈溢出”。
pdf 文档的内容是使用 PyPDF2 提取的,因为这是我公司的 python 库中唯一可用的选项。
我知道我可以为此编写一个特定的字符串匹配项,每个字符后可能有一个空格,但必须有更好的搜索方法。
这是我一直在尝试做的一个例子。
my_string = "find the ans weron sta ck over flow"
# r's\s*t\s*a\s*c\s*k\s*' # etc
my_cleaned_string = re.sub(r's\s*t\s*a\s*c\s*k\s*', '', my_string)
有什么建议吗?
【问题讨论】:
-
“更好”是什么意思?如果您需要在每个字母之间匹配任意数量的空格,这是唯一的方法。
-
感谢@Wiktor Stribiżew。我希望有一种通配符方法可以接受任意数量的 \s 出现...
-
\s*是匹配 0 个或多个空格的通配符。 -
另外,请参阅 stackoverflow.com/questions/4590298/…,这正是 Tim 的回答 here。