そこでjoin()
、文字列を単語と句読点に分割してから使用しようとしましたが、単語と句読点の間にスペースを入れて文字列を結合します。
b = ['Hello', ',', 'who', 'are', 'you', '?']
c = " ".join(b)
しかし、それは戻ります:
c = 'Hello , who are you ?'
そして私が欲しい:
c = 'Hello, who are you?'
そこでjoin()
、文字列を単語と句読点に分割してから使用しようとしましたが、単語と句読点の間にスペースを入れて文字列を結合します。
b = ['Hello', ',', 'who', 'are', 'you', '?']
c = " ".join(b)
しかし、それは戻ります:
c = 'Hello , who are you ?'
そして私が欲しい:
c = 'Hello, who are you?'
たぶん次のようなもの:
>>> from string import punctuation
>>> punc = set(punctuation) # or whatever special chars you want
>>> b = ['Hello', ',', 'who', 'are', 'you', '?']
>>> ''.join(w if set(w) <= punc else ' '+w for w in b).lstrip()
'Hello, who are you?'
b
これにより、句読点だけで構成されていない単語の前にスペースが追加されます。
どのように
c = " ".join(b).replace(" ,", ",")