Kotlin Academy · บทเรียน

สตริงดิบและเครื่องหมายอัญประกาศสามชั้น

ใช้สตริงที่ครอบด้วยเครื่องหมายอัญประกาศสามชั้นสำหรับข้อความหลายบรรทัดและเนื้อหาดิบที่ไม่ต้องใช้อักขระหลีก

บทเรียน 3 จาก 413 ขั้นตอน

สตริงดิบและเครื่องหมายอัญประกาศสามชั้น เป็นบทเรียน Kotlin Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน

สตริงดิบคืออะไร

สตริงดิบ ใช้เครื่องหมายอัญประกาศสามตัว """...""" และคงข้อความไว้ตรงตามที่เขียนทุกประการ โดยไม่มีลำดับหลีกหรืออักขระพิเศษ

สตริงดิบพื้นฐาน

สตริงที่อยู่ในเครื่องหมายอัญประกาศสามตัวสามารถครอบคลุมหลายบรรทัดได้โดยไม่ต้องระบุ \n อย่างชัดเจน

fun main() {
    val text = """
        Line 1
        Line 2
        Line 3
    """
    println(text)
}

ไม่จำเป็นต้องใช้ลำดับหลีก

ภายในสตริงดิบ แบ็กสแลชและเครื่องหมายอัญประกาศจะแสดงตามตัวอักษร เหมาะอย่างยิ่งสำหรับรูปแบบนิพจน์ประจำและเส้นทางของวินโดวส์

fun main() {
    val regex = """\d+\.\d+"""
    val winPath = """C:\Users\Alice\Documents"""
    println(regex)
    println(winPath)
}

JSON หลายบรรทัด

สตริงดิบเหมาะอย่างยิ่งสำหรับ JSON, SQL หรือข้อความตามตัวอักษรของ HTML ที่ฝังอยู่ เพราะไม่ต้องมีอักขระหลีกจำนวนมาก

fun main() {
    val json = """
        {
            "name": "Kotlin",
            "year": 2011
        }
    """.trimIndent()
    println(json)
}

trimIndent()

trimIndent() ลบช่องว่างนำหน้าที่เหมือนกันออกจากทุกบรรทัด ทำให้คุณจัดย่อหน้าในซอร์สได้อย่างสวยงามพร้อมคงผลลัพธ์ให้สะอาด

fun main() {
    val poem = """
        Roses are red
        Violets are blue
        Kotlin is sweet
        And so are you
    """.trimIndent()
    println(poem)
}

trimMargin()

trimMargin() ลบเครื่องหมายขอบนำหน้า (ค่าเริ่มต้นคือ |) ใช้เมื่อการจัดแนวอย่างชัดเจนเหมาะสมกว่าการจับคู่การเยื้อง

fun main() {
    val msg = """
        |Hello,
        |    World!
        |Goodbye.
    """.trimMargin()
    println(msg)
}

อักขระกำหนดเองสำหรับระยะขอบ

ส่งอักขระใดก็ได้ให้กับ trimMargin เพื่อกำหนดเครื่องหมายให้เหมาะกับการใช้งาน

fun main() {
    val text = """
        >Line A
        >Line B
    """.trimMargin(">")
    println(text)
}

แม่แบบสตริงยังคงทำงานได้

สตริงดิบยังคงแทนค่าภายใน $variable และ ${expression} ได้ เพียงแต่ลำดับการหลีกอักขระจะถูกปิดใช้งาน

fun main() {
    val name = "Kotlin"
    val version = 1.9
    val report = """
        Name: $name
        Version: $version
        Build: ${if (version >= 1.0) "stable" else "beta"}
    """.trimIndent()
    println(report)
}

การใส่เครื่องหมายคำพูดตามตัวอักษร

เครื่องหมายคำพูดคู่ภายในสตริงที่อยู่ในเครื่องหมายคำพูดสามตัวไม่จำเป็นต้องมีการหลีกอักขระ — เขียนตามที่เป็นได้เลย

fun main() {
    val quote = """She said, "Hello!" and smiled."""
    println(quote)
}

การใส่เครื่องหมายดอลลาร์ตามตัวอักษร

หากต้องการใส่เครื่องหมาย $ ตามตัวอักษรไว้ในสตริงดิบ ให้ใช้เทคนิคแม่แบบดังนี้: ${'$'}

fun main() {
    val price = """Cost is ${'$'}100"""
    println(price) // Cost is $100
}

การใช้งานจริง: คำสั่ง SQL

สตริงที่อยู่ในเครื่องหมายคำพูดสามตัวช่วยให้คำสั่ง SQL ยาว ๆ อ่านได้ง่ายในซอร์สโค้ด

fun main() {
    val table = "users"
    val sql = """
        SELECT id, name, email
        FROM $table
        WHERE active = true
        ORDER BY name
    """.trimIndent()
    println(sql)
}

ตรวจสอบความเข้าใจ

ฟังก์ชันใดใช้ลบช่องว่างนำหน้าที่มีร่วมกันออกจากแต่ละบรรทัดของสตริงดิบ

สรุปทบทวน

สตริงที่อยู่ในเครื่องหมายคำพูดสามตัวจะคงข้อความตามตัวอักษรไว้โดยไม่มีการหลีกอักขระ และครอบคลุมได้หลายบรรทัด ใช้ trimIndent() หรือ trimMargin() เพื่อลบการเยื้องที่ไม่ต้องการ แม่แบบยังคงทำงานได้ แต่หากต้องการใช้ $ ตามตัวอักษร ต้องใช้ ${'$'}

เริ่มต้นได้ฟรี

เรียนรู้ Kotlin ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
51
บทเรียน
203

คำถามที่พบบ่อย

บทเรียน “สตริงดิบและเครื่องหมายอัญประกาศสามชั้น” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “สตริงดิบและเครื่องหมายอัญประกาศสามชั้น” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “สตริงดิบและเครื่องหมายอัญประกาศสามชั้น”

ใช้สตริงที่ครอบด้วยเครื่องหมายอัญประกาศสามชั้นสำหรับข้อความหลายบรรทัดและเนื้อหาดิบที่ไม่ต้องใช้อักขระหลีก คุณปฏิบัติ Kotlin Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “สตริงดิบและเครื่องหมายอัญประกาศสามชั้น” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Kotlin Academy นี้ได้ไหม

ได้ บทเรียน Kotlin Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐาน String: ค่าตามตัวอักษร ลำดับหลีก และความยาว
  2. เทมเพลต String: $variable และ ${expression}
  3. สตริงดิบและเครื่องหมายอัญประกาศสามชั้น
  4. ฟังก์ชัน String สำคัญ: trim, split, replace, contains
← กลับไปที่ Kotlin Academy