正規表現からスペースを除外する方法はありますが、特殊文字は無視されません。私の現在のコードは次のとおりです:-
pattern=re.compile("[^\w]")
var = pattern.sub('', var)
\w がすべての空白文字を削除することは知っていますが、スペースのみを除外するにはどうすればよいですか?
例:
var = "hi this is test!@#$%%^^"
正規表現の後は次のようになります。
var = "hi this is test"
[^a-zA-Z\d\s]
これにより、すべてが削除され、文字、数字、およびスペースが残ります。
だけではないのはなぜre.compile('\s')ですか?
私があなたを正しく理解していれば、単語の文字やそれらを区切るスペースではなく、すべての文字を削除したいと考えています。それが正しければ、次のようにすればうまくいくようです。
var = "hi this is test!@#$%%^^"
pattern=re.compile("[^\w ]")
var = pattern.sub('', var)
^\wここでの唯一の変更点は、角括弧内の後にスペースを追加したことです。これを実行すると、次の結果が得られます。
>>> print var
hi this is test