0

次の入力と出力を実現できるPythonの文字列操作はありますか?正規表現を使用する場合、正規表現は部分文字列をどのように置き換えますか?

#inputs
y = sentence-with-dashes
x = this is a sentence with dashes

#output
z = this is a sentence-with-dashes

#####################################
#sometimes the input is pretty messed up like this
y = sentence-with-dashes
x = this is a sentence-with dashes

#output
z = this is a sentence-with-dashes
4

2 に答える 2

3

私はこれがトリックを行うべきだと思います:

y='sentence-with-dashes'
x='this is a sentence with dashes'
r=re.compile(re.escape(y).replace('\\-','[- ]'))
z=re.sub(r,y,x)

これは、値の外側に表示されるハイフンにyは影響しません。これを気にしない場合、eumiroの答えはより単純であり、正規表現を使用する必要はありません。

于 2012-09-17T07:25:59.880 に答える
1

これらが唯一のダッシュである場合:

z = x.replace('-', ' ').replace(y.replace('-', ' '), y)
于 2012-09-17T07:24:37.440 に答える