Düşünmek:
>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
Öyleyse alıntıyı nasıl elde ederiz ama eğik çizgiyi değil?
Ve lütfen önermeyin r'what"ever', çünkü o zaman soru her iki türden alıntıyı nasıl dahil ederiz?
Düşünmek:
>>> r"what"ever"
SyntaxError: invalid syntax
>>> r"what\"ever"
'what\\"ever'
Öyleyse alıntıyı nasıl elde ederiz ama eğik çizgiyi değil?
Ve lütfen önermeyin r'what"ever', çünkü o zaman soru her iki türden alıntıyı nasıl dahil ederiz?
Yanıtlar:
Dizelerde çift tırnak kullanmak istiyor ancak tek tırnak kullanmıyorsanız, bunun yerine sınırlayıcı olarak tek tırnak kullanabilirsiniz:
r'what"ever'
Dizenizde her iki türden tırnağa da ihtiyacınız varsa, üç tırnaklı bir dize kullanın:
r"""what"ev'er"""
Dizenize her iki türden üç tırnaklı dizgeyi dahil etmek istiyorsanız (son derece olası olmayan bir durum), bunu yapamazsınız ve kaçışlarla ham olmayan dizeler kullanmanız gerekir.
r"raw string"ve C # 'ları karşılaştırıyorum @"@-quoted string"ve"""triple quotes"""
r'what"ever"ayrıştırma hatası değil mi? Şunu mu demek istediniz r'what"ever'?
Herhangi bir alıntı türüne ihtiyacınız varsa (her ikisi için tekli, çiftli ve üçlü) dizeleri "birleştirebilirsiniz" (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'''
Ayrıca (0) ham dizeleri ham olmayan dizelerle "birleştirebilirsiniz":
>>> r'raw_string\n' 'non-raw string\n'
'raw_string\\nnon-raw string\n'
(0): Aslında, Python ayrıştırıcısı dizeleri birleştirir ve birden çok dizge oluşturmaz. "+" Operatörünü eklerseniz, birden çok dize oluşturulur ve birleştirilir.
Bu yanıta tökezlediğimden ve bana çok yardımcı olduğu için, ancak küçük bir sözdizimsel sorun bulduğum için, başkalarını olası hayal kırıklıklarından kurtarmam gerektiğini hissettim. Üç tırnaklı dize, bu senaryo için açıklandığı gibi çalışır, ancak dizede "istediğiniz" ifadesi dizenin kendisinin sonunda yer alırsa:
somestr = """This is a string with a special need to have a " in it at the end""""
Bir satırdaki "" "" (4) tırnak işaretleri, dizenin sonuna geldiğini düşündüğü ve orada rastgele bir "" bulduğu için dize okuyucunun kafasını karıştırdığı için yürütme sırasında bir hatayla karşılaşırsınız. Bunu doğrulayabilirsiniz. 4 tırnak içine şöyle bir boşluk ekleyerek: "" "" hata vermez.
Bu özel durumda aşağıdakilerden birini kullanmanız gerekecektir:
somestr = 'This.....at the end"'
veya yukarıda açıklanan yöntemi kullanarak birden çok dizeyi karma "ve" ile oluşturma ve ardından bunları gerçeğe göre birleştirme.
Kullanım:
dqote='"'
sqote="'"
'+' Operatörünü kullanın ve dqotevesquoteİhtiyacınız olanı elde etmek için değişkenleri kullanın.
İstersem sed -e s/",u'"/",'"/g -e s/^"u'"/"'"/şunları deneyebilirsiniz:
dqote='"'
sqote="'"
cmd1="sed -e s/" + dqote + ",u'" + dqote + "/" + dqote + ",'" + dqote + '/g -e s/^"u' + sqote + dqote + '/' + dqote + sqote + dqote + '/'