2017-12-08 12 views
-9

繰り返し文字を使用して文字列を分割する必要があります。例えば繰り返し文字をキャプチャし、Pythonを使用して分割します。

私の文字列は "howhowhow"

である私は 'どのように、どのように、どのように' と出力を必要としています。

私のregexの中で直接 'how'を使用することはできません。私の入力が異なるからです。私は文字列をチェックして文字を繰り返しているかどうかを調べ、その文字を分割する必要があります。

+9

これまでに何を試しましたか? –

+2

howhowあなたはこれまでこれを行っていますか? – RoadRunner

+0

正規表現の先読みが一致して置き換えられます。 も、[このガイド](https://stackoverflow.com/help/asking)をご覧ください。がんばろう。 –

答えて

1
lengthofRepeatedChar = 3 
str1 = 'howhowhow' 
HowmanyTimesRepeated = int(len(str1)/lengthofRepeatedChar) 
((str1[:lengthofRepeatedChar]+',')*HowmanyTimesRepeated)[:-1] 
'how,how,how' 

作品をuが繰り返される文字

の長さを知って
+1

単語が 'testhowhowhow'の場合、' tes、tes、tes、tes'を出力します – scharette

-1

使用再:あなたが繰り返しの数を持っている場合は、re.split()

[x for x in re.split(r"(how)", "howhowhowhow", 2) if x != ''] 
# ['how', 'how', 'howhow'] 
を使用することができます

re.findall("how", "howhowhowhow") 
# ['how', 'how', 'how', 'how'] 

2
import re 

string = "howhowhow" 

print(','.join(re.findall(re.search(r"(.+?)\1", string).group(1), string))) 

OUTPUまた、正当であるhowhow,howhowにマップされないhowhowhowhowようにT

howhowhow -> how,how,how 
howhowhowhow -> how,how,how,how 
testhowhowhow -> how,how,how # not clearly defined by OP 

パターンは、非貪欲です。最長一致を希望する場合は?を削除してください。

関連する問題