这是示例文本。
sample_text='Extract text before the last word'
使用字符串拆分方法,我可以在“单词”之前提取子字符串
print(sample_text.split('word',1)[0])
我正在从pdf文档中提取sample_text,因此可能存在以下可能性。
sample_text='Extract text before the last w ord'
sample_text='Extract text before the last wo rd'
sample_text='Extract text before the last wor d'
sample_text='Extract text before the last wo r d'
是否有一种简单的方法来考虑这些可能性并获得所需的输出?
谢谢。
答案 0 :(得分:1)
如果需要,可以按正则表达式模式进行拆分。
import re
pattern = 'w\d?o\d?r\d?d'
print(re.split(pattern, sample_text))
输出:
['Extract text before the last ', '']
答案 1 :(得分:1)
您可以使用忽略空格的正则表达式: 在您的示例中,单词“ word”将是正则表达式:
"w\s*o\s*r\s*d"
尝试以这种方式拆分每一行:
import re
sample_text='Extract text before the last w ord'
re_ignor_space = "w\s*o\s*r\s*d"
sample_text_splitted = re.split(re_ignor_space, sample_text)
desired_string = ''.join(sample_text_splitted[:-1])
print (desired_string)
如果您不需要最后一个单词,请使用slice忽略它:
desired_string = ''.join(sample_text_splitted[:-1])
输出:
Extract text before the last