考えてみましょう:
>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
では、どのようにして見積もりを取得しますが、スラッシュは取得しませんか?
そしてr'what"ever'、提案しないでください。問題は、両方のタイプの引用符をどのように含めるかということになるからです。
考えてみましょう:
>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
では、どのようにして見積もりを取得しますが、スラッシュは取得しませんか?
そしてr'what"ever'、提案しないでください。問題は、両方のタイプの引用符をどのように含めるかということになるからです。
回答:
文字列で二重引用符を使用し、一重引用符は使用しない場合は、代わりに一重引用符を区切り文字として使用できます。
r'what"ever'
文字列に両方の種類の引用符が必要な場合は、三重引用符で囲まれた文字列を使用します。
r"""what"ev'er"""
両方の種類の三重引用符で囲まれた文字列を文字列に含めたい場合(非常にまれなケース)、それを行うことはできず、エスケープ付きの非生文字列を使用する必要があります。
r"raw string"とC#の@"@-quoted string"と"""triple quotes"""
r'what"ever"、解析エラーではありませんか?意味r'what"ever'ですか?
任意のタイプの引用符(両方にシングル、ダブル、トリプル)が必要な場合は、文字列を「結合」(0)できます。
>>> raw_string_with_quotes = r'double"' r"single'" r'''double triple""" ''' r"""single triple''' """
>>> print raw_string_with_quotes
double"single'double triple""" single triple'''
生の文字列を非生の文字列と「結合」(0)することもできます。
>>> r'raw_string\n' 'non-raw string\n'
'raw_string\\nnon-raw string\n'
(0):実際、Pythonパーサーは文字列を結合し、複数の文字列を作成しません。「+」演算子を追加すると、複数の文字列が作成されて結合されます。
私はこの答えに出くわし、それは私を大いに助けましたが、マイナーな構文上の問題を見つけたので、私は他の人の可能な欲求不満を救うべきだと感じました。トリプルクォートされた文字列は、説明されているようにこのシナリオで機能しますが、文字列に必要な「が文字列自体の最後にある場合は、次の点に注意してください。
somestr = """This is a string with a special need to have a " in it at the end""""
行の "" ""(4)引用符は、すでに文字列の終わりに到達していると見なし、ランダムな "を見つけるため、文字列リーダーを混乱させるため、実行時にエラーが発生します。これを検証できます。 "" ""のように4つの引用符にスペースを挿入すると、エラーは発生しません。
この特別なケースでは、次のいずれかを使用する必要があります。
somestr = 'This.....at the end"'
または、「」と「」が混在する複数の文字列を作成し、事後にそれらを連結する上記の方法を使用します。
使用する:
dqote='"'
sqote="'"
'+'演算子とdqoteおよびを使用しますsquote変数を必要なものを取得します。
必要に応じてsed -e s/",u'"/",'"/g -e s/^"u'"/"'"/、次のことを試すことができます。
dqote='"'
sqote="'"
cmd1="sed -e s/" + dqote + ",u'" + dqote + "/" + dqote + ",'" + dqote + '/g -e s/^"u' + sqote + dqote + '/' + dqote + sqote + dqote + '/'