を交換し、私はそれは特別な形式になるように、文字列を変換する特殊文字を削除して
EX私の文字列を変換する必要があります。ここでは
string = "the cow's milk is a-okay!"
converted string = "the-cows-milk-is-a-okay"
を交換し、私はそれは特別な形式になるように、文字列を変換する特殊文字を削除して
EX私の文字列を変換する必要があります。ここでは
string = "the cow's milk is a-okay!"
converted string = "the-cows-milk-is-a-okay"
import re
s = "the cow's milk is a-okay!"
s = re.sub(r'[^a-zA-Z\s-]+', '', s) # remove anything that isn't a letter, space, or hyphen
s = re.sub(r'\s+', '-', s) # replace all spaces with hyphens
print(s) # the-cows-milk-is-a-okay
「スペース」は任意のですタブと改行を含む空白文字。これを変更するには、\s
を実際のスペース文字に置き換えます。
複数のスペースの実行は、1つのハイフンに置き換えられます。これを変更するには、re.sub
への2回目の呼び出しで+
を削除します。この(欠点はハイフン-
残ることができない)、
import string
s = "the cow's milk is a-okay!"
table = string.maketrans(" ", "-")
new_s = s.translate(table, string.punctuation)
print(new_s)
# the-cows-milk-is-aokay
'\ W +'は良いでしょうか? –
@ cricket_007いいえ、スペース、ハイフン、またはアンダースコアには正しくありません。 –
@AlexHallありがとうございました!私は本当にこれ以上のことを勉強しなければなりません。 –
:
>>> s = "the cow's milk is a-okay!"
>>> ''.join(('-' if el == " " else el if el not in "?.!:;/'" else "" for el in s))
'the-cows-milk-is-a-okay'
>>>
これはOPが望んでいたものではありません。皮肉なことに、あなたはあなたの答えにそれを認めます。 –
>>> string = "the cow's milk is a-okay!"
>>> string
"the cow's milk is a-okay!"
>>> string = string.replace(' ','-')
>>> for char in string:
... if char in "?.!:;/'":
... string = string.replace(char,'')
...
>>> string
'the-cows-milk-is-a-okay'
についての簡単なジェネレータ式は、この達成するために使用することができる方法
は素晴らしいですね。まだ何かを試した? –
これはおそらく '' - '。join(s.split()) 'ですが、シンボルを削除すると曖昧になります –
[Pythonでの文字列処理](http://stackoverflow.com/questions/5574042/string- –