提取给定子字符串前的字符串 Python
Extract string before a given substring Python
这是示例文本。
sample_text='Extract text before the last word'
使用字符串拆分方法我可以在 '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'
是否有一种简单的方法来考虑这些可能性并获得所需的输出?
提前致谢。
如果需要,您可以按正则表达式模式拆分。
import re
pattern = 'w\d?o\d?r\d?d'
print(re.split(pattern, sample_text))
输出:
['Extract text before the last ', '']
您可以使用忽略 space 的正则表达式:
在您的示例中,单词 "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
这是示例文本。
sample_text='Extract text before the last word'
使用字符串拆分方法我可以在 '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'
是否有一种简单的方法来考虑这些可能性并获得所需的输出?
提前致谢。
如果需要,您可以按正则表达式模式拆分。
import re
pattern = 'w\d?o\d?r\d?d'
print(re.split(pattern, sample_text))
输出:
['Extract text before the last ', '']
您可以使用忽略 space 的正则表达式: 在您的示例中,单词 "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