1

~,!,@,#,$,%,^,&およびその他の文字をすべて置き換え、タブ、改行、および複数のスペースも削除しようとしています。片付けて単語と数字を揃えたいだけです。

例として:

test! should be test
<script> should be script
test   test should be test test.

使ってみre.sub('[/.!,;+()]#-&?=<>|%$', ' ', string);ました。これはそれらのいくつかを置き換えましたが、置き換えるためにさらに文字を追加すると、機能しなくなりました。提案?

4

2 に答える 2

1

新しいキャラクターをキャラクター クラス ボックスの外に配置したようです。

これを試して。

re.sub('[/.!,;+()#&?=<>|%$-]', ' ', string);
于 2013-03-29T18:44:21.567 に答える
0

使用している文字のすべてではないにしても、一部は特殊な正規表現文字であり、正規表現エンジンはそれらをリテラル文字として解釈しています。

あなたが求めていることを行うためのより良い方法は、必要な文字セットに含まれていないすべての文字を削除することです。

re.sub(r'[^0-9A-Za-Z \.]', '', input)

複数のスペースを削除するのはもう少し複雑です。

re.sub(r'\s{2,}', '', input)

何もせずに空白を2回以上削除します。

于 2013-03-29T18:46:26.417 に答える