1

「-」をスペースに置き換え(ただし、連続して 1 つを超えないようにし、先頭と末尾のすべてを削除する必要があります)、他の特殊文字を削除する必要があります。いくつかの例を示します。

    "Example-1" ---> "Example 1"  
    "Example - 2"---> "Example 2"  
    "Ex amp le-(3)"--->"Ex amp le 3"  
    "--Example%s,,4 "--->"Examples4"  

解決済み

(私は評判が8しかなく、さらに5時間自分の質問に答えることができないため、質問を編集する必要があります)

この質問を次のように解決しました。

 my_string = re.sub('[^\w -]', '', my_string).replace('-', ' ').strip(' ')
 subsMade = 1
 while subsMade > 0:
     (my_string, subsMade) = re.subn('  ', ' ', my_string)
4

1 に答える 1

3

私はziggに同意します。そのためには正規表現が必要です。ここで穏やかな紹介を見つけることができます: http://www.diveintopython.net/regular_expressions/index.html#re.intro (「Street Address」のケース スタディを確認してください。やりたいことといくつかの類似点があります)。

編集:

私はregexの第一人者ではありませんが...

import re

pattern = "[- ]+"
re.sub(pattern, " ", your_string)

これにより、最初の 2 つの例が解析されます。1 つのパターンで必要なすべてを実行できるかどうかはわかりません... 賢者が現れますように。

于 2012-10-14T22:29:06.350 に答える