1

次の文字列があります。

string = "Peter Pan, Pete Sampras; Little Pete"

そして、名前で分割する必要があります。

split_string = ["Peter Pan", "Pete Sampras", "Little Pete"]

使用しようとしてre.findallいますが、少し問題があります。

print re.findall(r'[,;]', string)
[";", ";", ";"]

ここで何が間違っているre.findallのですか?ここで適切に使用する方法、または文字列を分割する同等のものを使用するにはどうすればよいですか?

4

2 に答える 2

2

次のように使用re.splitすると、文字列が分割されます。

string = "Peter Pan, Pete Sampras; Little Pete"
print re.split(r'[,;]', string)
["Peter Pan", "Pete Sampras", "Little Pete"]
于 2012-06-15T23:14:12.463 に答える
1

または、区切り文字については不明だが、名前の間にスペース (またはそれ以上) があることは確かである場合は、次を使用できます。

re.findall("\w+\s+\w+", target_string)

これは、文字と空白を\w表す1 つの単語のみの名前がスキップされることを意味し、1 つまたは複数の要素の貪欲な検索を示します。\s+

于 2012-06-15T23:33:10.187 に答える