Elm:
การดึงข้อมูลย่อยออกมา
วิธีการ:
Elm ทำให้มันง่าย สำหรับการเริ่มต้น มาใช้ String.slice
:
import String exposing (slice)
fullText : String
fullText = "Hello, Elm world!"
-- สกัด "Elm"
substring : String
substring = slice 7 10 fullText
-- ผลลัพธ์: "Elm"
ตอนนี้ มาทำให้มันมีความเคลื่อนไหวมากขึ้นด้วย String.left
และ String.right
:
import String exposing (left, right)
-- หยิบ 5 ตัวอักษรแรก
leftString : String
leftString = left 5 fullText
-- ผลลัพธ์: "Hello"
-- หยิบ 5 ตัวอักษรสุดท้าย
rightString : String
rightString = right 5 fullText
-- ผลลัพธ์: "orld!"
การศึกษาลึก
โดยประวัติศาสตร์การสกัดส่วนย่อยของข้อความนั้นเก่าเท่ากับการเขียนโปรแกรมเอง ใน Elm, เช่นเดียวกับภาษาฟังก์ชันอื่นๆ ฟังก์ชันสำหรับจัดการสตริงนั้นเป็น immutable - พวกมันส่งกลับสตริงใหม่แทนที่จะเปลี่ยนแปลงต้นฉบับ
มีทางเลือกอื่นๆ เช่น String.dropLeft
และ String.dropRight
มีอยู่ พวกมันตัดอักขระออกจากปลายใดปลายหนึ่งของสตริง:
import String exposing (dropLeft, dropRight)
-- ตัดอักขระ 7 ตัวแรกออก
droppedLeftString : String
droppedLeftString = dropLeft 7 fullText
-- ผลลัพธ์: "Elm world!"
-- ตัดอักขระ 6 ตัวสุดท้ายออก
droppedRightString : String
droppedRightString = dropRight 6 fullText
-- ผลลัพธ์: "Hello, Elm"
ในแง่ของการดำเนินการ, ฟังก์ชันเหล่านี้ถูกสร้างเข้าไว้ในไลบรารีมาตรฐานของ Elm และสามารถจัดการกับ Unicode ได้, ถึงแม้ว่าจะมีข้อพิจารณาที่ต้องทำกับคู่สำรองของ Unicode และอักขระผสม
ดูเพิ่มเติม
- เอกสารของโมดูล
String
ใน Elm: https://package.elm-lang.org/packages/elm/core/latest/String - คู่มือ Elm เกี่ยวกับสตริง: https://guide.elm-lang.org/strings/
- MDN Web Docs เกี่ยวกับ Unicode: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/charAt