私は時々奇妙な文字列を持っています。これらはブラウザでは表示されませんが、文字列の一部であり、len()でカウントされます。 どうすれば削除できますか? Strip()は通常のスペースを削除しますが、その記号は削除しません。Python - 文字列から隠した記号を削除するには?
答えて
使用string
モジュールの文字カテゴリ。あなたはすべての印刷可能な文字を許可したい場合は、あなたの答えに
from string import printable
new_string = ''.join(char for char in the_string if char in printable)
ビルを行うことができ、あなたもre.sub
でこれを行うことができます。
new_string = re.sub("[^{}]+".format(printable), "", the_string)
をまた、あなたがすべての文字を表示する場合文字列でも印刷できないものは、いつでも印刷できない文字のため\x00
のようなものが表示されます
print repr(the_string)
行うことができます。
これは正解です。 – dotancohen
秒の答えは魅力のように働いた、ありがとう。 – Yehonatan
正規表現は、あらゆる種類の文字列解析に適した非常に普遍的なツールです。スピードが問題であれば、文字列クラスの "translate"メソッドも役に立ちます。
まず、あなたが何も変わりません(「アイデンティティ」)マッピング定義:あなたは、各「」「B」で、あなたはあなたのマッピングを変更
を交換したい場合はmapping = map(chr, range(256))
を
mapping[ord('a')] = 'b'
は今、あなたは、 "翻訳" する方法のためにテーブルを作成:
table = "".join(mapping)
と
print "abc".translate(table)
"bbc"と表示されます。
あなたが本当に「A」を削除したい場合は、上記のマッピングを変更するテーブルを作成してから、次のように変換 を呼び出すことはありません:
print "abc".translate(table, "a")
はあなたに「BC」を与えます。
テーブルが作成されると、translateメソッドは非常に高速です。
だからあなたの場合にはすべてのあなたの不要な文字が空白
mapping = map(chr, range(256))
table = "".join(" " if c in unwanted_chars else c for c in map(chr, range(256)))
と文字列の先頭と末尾に不要な文字 を無視したlen("my string".translate(table).trim())
を使うにマッピングされるように変更することができます。
len("my string".translate(table, unwanted_chars))
を使用すると、不要な文字はすべて無視されます。
ニース。私はもう一度投票すると明日+1します。私は翻訳について考えましたが、構文を調べるのは怠惰でした。 – agf
- 1. 文字列から文字/記号を削除する
- 2. Pythonの文字列から電話番号を削除する
- 3. Pythonの文字列からスタンドアロン番号を削除する
- 4. Pythonは文字列から文字を削除しますか?
- 5. 記号を削除して文字列を消去する
- 6. 文字列内の記号を削除する別の方法
- 7. C#:文字列から言語固有の記号を削除する
- 8. 文字列内の隠し文字を削除する
- 9. Pythonの文字列から文字列を削除するには?
- 10. Python:文字列から文字を削除する
- 11. 文字列から最後の文字を削除する(Python)
- 12. Pythonの文字列から特殊文字を削除する
- 13. Python文字列から文字を削除する
- 14. Python:テキスト文字列からHTMLヘッダを削除するには?
- 15. 文字列から文字列を削除するには?
- 16. 削除記号は「/」の開始と文字列
- 17. 文字列の最後に省略記号を削除するには
- 18. 文字列から隠された文字を取り除く
- 19. Pythonの文字列のリストから章番号を削除する
- 20. 文字列からUTF16文字を削除するには?
- 21. 文字列から空白文字を削除するには?
- 22. 文字列から重複する文字を削除する
- 23. Python:\ xa0を文字列から削除しますか?
- 24. Python Pandasデータフレーム全体からドル記号を削除する
- 25. rubyファイル全体から隠し文字を削除します
- 26. 文字列から削除
- 27. Python:文字列のリストから文字列の一部を削除する
- 28. Javaは文字列からエスケープ文字を削除します
- 29. 文字列からエスケープ文字を削除する
- 30. Python文字列から\ nを削除します
このソリューションを参照してください:http://stackoverflow.com/questions/92438/stripping-non-printable-characters-from-a-string-in-python –