""안에 큰 따옴표를 인쇄하는 방법은 무엇입니까?


답변:


221

문자열에 삽입하려는 큰 따옴표 앞에 백 슬래시를 사용합니다.

let sentence = "They said \"It's okay\", didn't they?"

지금 sentence은 :

그들은 "괜찮아"라고 말했죠?

문자를 "이스케이프"라고합니다. 리터럴 값을 사용하고 있으며 해석되지 않습니다.


Swift 4를 사용하면 """이스케이프 할 필요가없는 리터럴 텍스트에 구분 기호 를 사용하도록 선택할 수 있습니다 .

let sentence = """
They said "It's okay", didn't they?
Yes, "okay" is what they said.
"""

이것은 다음을 제공합니다.

그들은 "괜찮아"라고 말했죠?
네, "좋아"가 말한 것입니다.


Swift 5를 사용하면 향상된 구분 기호를 사용할 수 있습니다.

이제 향상된 구분 기호를 사용하여 문자열 리터럴을 표현할 수 있습니다 . 여는 따옴표 앞에 하나 이상의 숫자 기호 (#)가있는 문자열 리터럴은 뒤에 동일한 수의 숫자 기호가없는 한 백 슬래시 및 큰 따옴표 문자를 리터럴로 처리합니다. 추가 이스케이프가있는 많은 큰 따옴표 또는 백 슬래시 문자가 포함 된 복잡한 문자열 리터럴을 방지하려면 향상된 구분 기호를 사용하십시오.

이제 문자열을 다음과 같이 나타낼 수 있습니다.

let sentence = #"They said "It's okay", didn't they?"#

그리고 문자열에 변수를 추가하려면 #백 슬래시 뒤에 추가해야 합니다.

let sentence = #"My "homepage" is \#(url)"#

24

완전성을 위해 Apple 문서에서 :

문자열 리터럴에는 다음 특수 문자가 포함될 수 있습니다.

  • 이스케이프 된 특수 문자 \ 0 (널 문자), \ (백 슬래시), \ t (가로 탭), \ n (줄 바꿈), \ r (캐리지 리턴), \ "(큰 따옴표) 및 \ '(작은 따옴표)
  • \ u {n}로 쓰여진 임의의 유니 코드 스칼라. 여기서 n은 유효한 유니 코드 코드 포인트와 같은 값을 가진 1-8 자리 16 진수입니다.

즉, 백 슬래시로 문자를 이스케이프 할 수있는 것 외에도 유니 코드 값을 사용할 수 있습니다. 다음 두 문장은 동일합니다.

let myString = "I love \"unnecessary\" quotation marks"
let myString = "I love \u{22}unnecessary\u{22} quotation marks"

myString 이제 다음이 포함됩니다.

나는 "불필요한"따옴표를 좋아한다


8

필요 에 따라 큰 따옴표가 포함 된 Swift를 인쇄하기 위해 다음 4 가지 패턴 중 하나를 사용할 수 있습니다 String.


1. 이스케이프 된 큰 따옴표 사용

문자열 리터럴에는 다음과 같은 특수 문자가 포함될 수 있습니다 \".

let string = "A string with \"double quotes\" in it."
print(string) //prints: A string with "double quotes" in it.

2. 유니 코드 스칼라 사용

문자열 리터럴에는 다음과 같이 작성된 유니 코드 스칼라 값이 포함될 수 있습니다 \u{n}.

let string = "A string with \u{22}double quotes\u{22} in it."
print(string) //prints: A string with "double quotes" in it.

3. 여러 줄 문자열 리터럴 사용 (Swift 4 필요)

The Swift Programming Language / Strings and Characters 는 다음 같이 말합니다.

여러 줄 문자열 리터럴은 하나가 아닌 세 개의 큰 따옴표를 사용 "하므로 이스케이프하지 않고 여러 줄 문자열 리터럴 내부에 큰 따옴표 ( )를 포함 할 수 있습니다 .

let string = """
A string with "double quotes" in it.
"""
print(string) //prints: A string with "double quotes" in it.

4. 원시 문자열 리터럴 사용 (Swift 5 필요)

The Swift Programming Language / Strings and Characters 는 다음 같이 말합니다.

확장 구분 기호 내에 문자열 리터럴을 배치하여 효과를 호출하지 않고 문자열에 특수 문자를 포함 할 수 있습니다. 문자열을 따옴표 ( ") 안에 넣고 숫자 기호 ( #)로 묶습니다 . 예를 들어, 문자열 리터럴을 #"Line 1\nLine 2"#인쇄하면 \n두 줄에 문자열을 인쇄하는 대신 줄 바꿈 이스케이프 시퀀스 ( )가 인쇄됩니다.

let string = #"A string with "double quotes" in it."#
print(string) //prints: A string with "double quotes" in it.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.