Pythonを使用して前処理文字列が必要です。 例を示します。Pythonの特殊記号の前後に空白を挿入する
文字列
string = "hello... (world)!"
を考えると、私は私がすることによってこれを行う機能を交換する方法を見つける
desired_string = "hello . . . (world) !"
などの特殊文字の前後にスペースを挿入します。その後
string = string.replace(".", " . ")
string = string.replace("(", " (")
string = string.replace(")", ") ")
string = string.replace("!", " ! ")
、
>>> string
'hello . . . (world) ! '
(この出力文字列がdesired_stringよりも多くのスペースを持っていますが、私はうまく後で.split
方法を適用するために許容されます。)
しかし、コードが長いので、特に多くの種類のシンボルが表示されます。 (例:!、@、$、%、&、...)
もっと良い方法があると思います(re.sub
を使用していますか?)誰かがより良いコードを表示できますか?
ありがとうございました。 '\\ 1'とは何ですか? – ywat
この場合は '[。()!]'となる最初のグループのために '()'括弧のような複数のグループを持ち、 '\\ 1'、' \\ 2'、 '\グループ全体に 're'を適用するには\ 3'を使用します。 'r" \ 1 "'とすることもできます。 –
私はこの回答を受け入れます。これは最も速く、はっきりしているからです。 – ywat