Python文字列からスペースとダッシュを除くすべての特殊文字を削除するにはどうすればよいですか?

user1063287

ダッシュとスペースを除いて、Python文字列からすべての特殊文字を削除したいと思います。

これは正しいです?

import re
my_string = "Web's GReat thing-ok"
pattern = re.compile('[^A-Za-z0-9 -]')
new_string = pattern.sub('',my_string)
new_string
>> 'Webs GReat thing-ok'
# then make it lowercase and replace spaces with underscores
# new_string = new_string.lower().replace (" ", "_")
# new_string
# >> 'webs_great_thing-ok'

示されているように、他の特殊文字を削除した後、最終的にスペースをアンダースコアに置き換えたいと思いますが、段階的に行うと考えました。一挙にすべてを行うPythonの方法はありますか?

コンテキストとして、この入力をMongoDBコレクション名に使用しているため、最終的な文字列の制約を次のようにします。ダッシュとアンダースコアを使用できる英数字。

深宇宙

あなたは実際にあなたの文字列を「スラッグ化」しようとしています。

サードパーティ(およびPython 2固有)のライブラリを使用してもかまわない場合は、slugifypip install slugifyを使用できます

import slugify

string = "Web's GReat thing-ok"
print slugify.slugify(string)
>> 'webs_great_thing-ok'

自分で実装できます。slugifyのコードはすべて

import re
import unicodedata

def slugify(string):
    return re.sub(r'[-\s]+', '-',
            unicode(
                    re.sub(r'[^\w\s-]', '',
                           unicodedata.normalize('NFKD', string)
                           .encode('ascii', 'ignore'))
                           .strip()
                           .lower())

これはPython2固有であることに注意してください。


あなたの例に戻ると、あなたはそれをワンライナーにすることができます。それが十分にPythonicであるかどうかは、決定するのはあなた次第です(A-z代わりに短縮された範囲注意してくださいA-Za-z):

import re

my_string = "Web's GReat thing-ok"
new_string = re.sub('[^A-z0-9 -]', '', my_string).lower().replace(" ", "_")


更新ここには、より堅牢でPython3互換の「slugify」ライブラリがあるようです

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

特殊文字を削除しながら、文字列のフォーマットにスペースを保持するにはどうすればよいですか?

分類Dev

文字列の最初と最後からすべての特殊文字を削除するにはどうすればよいですか?#と、を期待しますか?

分類Dev

ドットを除くすべての特殊文字で文字列を分割するにはどうすればよいですか?

分類Dev

正規表現を使用してスペースのある文字列(特殊文字で作成)を削除するにはどうすればよいですか?

分類Dev

Pythonのファイルからスペース以外の特殊文字を削除するにはどうすればよいですか?

分類Dev

- を除く文字列からすべての特殊文字を削除する方法。スペース

分類Dev

JavaScriptを使用して、文字列からスペースを除くすべての特殊文字を削除します

分類Dev

Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列から特殊文字の単語を削除するにはどうすればよいですか?

分類Dev

文字列内のすべての特殊文字をエスケープ文字に置き換えるにはどうすればよいですか?

分類Dev

Luaの文字列からすべての特殊文字、句読点、空白を削除するにはどうすればよいですか?

分類Dev

特別なクラスを除くすべてのHTML要素を文字列から削除するにはどうすればよいですか?

分類Dev

Scalaの文字列から末尾のバックスラッシュをすべて削除するにはどうすればよいですか?

分類Dev

PHPで文字列からすべてのスペースを取り除くにはどうすればよいですか?

分類Dev

単語の中と単語の間のハイフンとアポストロフィを除くすべての特殊文字を削除するにはどうすればよいですか?

分類Dev

Python 3で文字列内の特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列内の特殊文字とスペースを無視するにはどうすればよいですか?

分類Dev

Swift 2で文字列から特殊文字を削除するにはどうすればよいですか?

分類Dev

文字列内の任意の場所に1つの特殊文字をランダムに追加するにはどうすればよいですか?バッシュ

分類Dev

json / stringから特殊文字と特定の単語を削除するにはどうすればよいですか?

分類Dev

文字列から特殊文字を削除するにはどうすればよいですか?

分類Dev

正規表現を使用して、「#」を除くすべての英数字以外の文字を文字列から削除するにはどうすればよいですか?

分類Dev

JavaScriptで文字列をスペースと特殊文字で分割するにはどうすればよいですか?

分類Dev

REGEXEXTRACT#N / Aエラーを削除し、Googleスプレッドシートの特殊文字を無視するにはどうすればよいですか?

分類Dev

Javaで文字列から特定の文字を除くすべてを削除するにはどうすればよいですか?

分類Dev

文字列から解析中のスペースを削除するにはどうすればよいですか?

分類Dev

文字列から先頭のスペースをすべて削除するにはどうすればよいですか?-迅速

分類Dev

特殊文字で文字列の終わりを削除するにはどうすればよいですか?

分類Dev

filter()を使用して、文字列と数字を含むリストからすべての文字列を削除するにはどうすればよいですか?

Related 関連記事

  1. 1

    特殊文字を削除しながら、文字列のフォーマットにスペースを保持するにはどうすればよいですか?

  2. 2

    文字列の最初と最後からすべての特殊文字を削除するにはどうすればよいですか?#と、を期待しますか?

  3. 3

    ドットを除くすべての特殊文字で文字列を分割するにはどうすればよいですか?

  4. 4

    正規表現を使用してスペースのある文字列(特殊文字で作成)を削除するにはどうすればよいですか?

  5. 5

    Pythonのファイルからスペース以外の特殊文字を削除するにはどうすればよいですか?

  6. 6

    - を除く文字列からすべての特殊文字を削除する方法。スペース

  7. 7

    JavaScriptを使用して、文字列からスペースを除くすべての特殊文字を削除します

  8. 8

    Luaの文字列から特定の特殊文字を削除するにはどうすればよいですか?

  9. 9

    文字列から特殊文字の単語を削除するにはどうすればよいですか?

  10. 10

    文字列内のすべての特殊文字をエスケープ文字に置き換えるにはどうすればよいですか?

  11. 11

    Luaの文字列からすべての特殊文字、句読点、空白を削除するにはどうすればよいですか?

  12. 12

    特別なクラスを除くすべてのHTML要素を文字列から削除するにはどうすればよいですか?

  13. 13

    Scalaの文字列から末尾のバックスラッシュをすべて削除するにはどうすればよいですか?

  14. 14

    PHPで文字列からすべてのスペースを取り除くにはどうすればよいですか?

  15. 15

    単語の中と単語の間のハイフンとアポストロフィを除くすべての特殊文字を削除するにはどうすればよいですか?

  16. 16

    Python 3で文字列内の特殊文字を削除するにはどうすればよいですか?

  17. 17

    文字列内の特殊文字とスペースを無視するにはどうすればよいですか?

  18. 18

    Swift 2で文字列から特殊文字を削除するにはどうすればよいですか?

  19. 19

    文字列内の任意の場所に1つの特殊文字をランダムに追加するにはどうすればよいですか?バッシュ

  20. 20

    json / stringから特殊文字と特定の単語を削除するにはどうすればよいですか?

  21. 21

    文字列から特殊文字を削除するにはどうすればよいですか?

  22. 22

    正規表現を使用して、「#」を除くすべての英数字以外の文字を文字列から削除するにはどうすればよいですか?

  23. 23

    JavaScriptで文字列をスペースと特殊文字で分割するにはどうすればよいですか?

  24. 24

    REGEXEXTRACT#N / Aエラーを削除し、Googleスプレッドシートの特殊文字を無視するにはどうすればよいですか?

  25. 25

    Javaで文字列から特定の文字を除くすべてを削除するにはどうすればよいですか?

  26. 26

    文字列から解析中のスペースを削除するにはどうすればよいですか?

  27. 27

    文字列から先頭のスペースをすべて削除するにはどうすればよいですか?-迅速

  28. 28

    特殊文字で文字列の終わりを削除するにはどうすればよいですか?

  29. 29

    filter()を使用して、文字列と数字を含むリストからすべての文字列を削除するにはどうすればよいですか?

ホットタグ

アーカイブ