如何在文本中查找字符串并从文本返回字符串?

时间:2019-03-28 12:05:04

标签: python python-3.x

我需要找到一个已删除特殊字符的字符串。因此,我要做的是在句子中找到该字符串,并使用特殊字符返回该字符串。 例如:string = France09

Sentence : i leaved in France'09.

现在我做了re.search('France09',sentence),它将返回TrueFalse。但我想将输出作为France'09

任何人都可以帮助我。

4 个答案:

答案 0 :(得分:0)

在文档(https://docs.python.org/2/library/re.html#re.search)中,搜索不是 返回TrueFalse

  

扫描字符串以查找正则表达式模式产生匹配项的第一个位置,然后返回相应的MatchObject实例。如果字符串中没有位置与模式匹配,则返回None;否则,返回None。请注意,这不同于在字符串中的某个位置找到零长度匹配项。

答案 1 :(得分:0)

看看https://regex101.com/r/18NJ2E/1

TL; DR

import re

regex = r"(?P<relevant_info>France'09)"
test_str = "Sentence : i leaved in France'09."
matches = re.finditer(regex, test_str, re.MULTILINE)
for match in matches:
    print(match.group('relevant_info'))

答案 2 :(得分:0)

尝试一下:

Input_str = "i leaved in France'09"

Word_list = Input_str.split(" ")
for val in Word_list:
    if not val.isalnum():
        print(val)

输出:

France'09

答案 3 :(得分:0)

您将需要创建一个与任意位置的特殊字符匹配的正则表达式:

import re
Sentence = "i leaved in France'09"
Match = 'France09'
Match2 = "[']*".join(Match)
m = re.search(Match2, Sentence)
print(m.group(0))

Match2获得值"F[']*r[']*a[']*n[']*c[']*e[']*0[']*9"。您可以在[']部分中添加其他特殊字符。