การลบเครื่องหมายอัญประกาศออกจากสตริง

Haskell:
การลบเครื่องหมายอัญประกาศออกจากสตริง

วิธีการ:

ใน Haskell, เราสามารถสร้างฟังก์ชันที่ลบเครื่องหมายอัญประกาศทั้งหมดออกจากสตริงที่กำหนดได้ มันเหมือนกับบอกให้เครื่องหมายอัญประกาศหยุดกวน และตรวจสอบให้แน่ใจว่าพวกมันรับรู้ถึงเบาะแส

import Data.List (intercalate)
import Data.Char (isPunctuation)

removeQuotes :: String -> String
removeQuotes = filter (\c -> c /= '"' && c /= '\'')

main :: IO ()
main = do
    let stringWithQuotes = "Haskell said, \"Let's learn some functions!\""
    putStrLn $ removeQuotes stringWithQuotes

ผลลัพธ์ตัวอย่าง:

Haskell said, Lets learn some functions!

ศึกษาลึกซึ้ง

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

ทางเลือกอื่น? แทนที่จะไล่เครื่องหมายอัญประกาศทั้งหมดเหมือนผึ้ง, คุณสามารถเลือกได้ คุณอาจต้องการลบเพียงเครื่องหมายอัญประกาศด้านนอกสุด (การตัดทำความสะอาดแบบคลาสสิก) หรือจัดการกับเครื่องหมายอัญประกาศที่ถูกหลบหนีในสตริง

ด้านการใช้งาน, ฟังก์ชัน removeQuotes ด้านบนใช้ lambda เพื่อตรวจสอบแต่ละอักขระ (c) เพื่อดูว่าเป็นเครื่องหมายอัญประกาศที่ก่อกวนหรือไม่ และกรองออกตามนั้น นี่เป็นวิธีการที่ตรงไปตรงมา, แต่สำหรับข้อความขนาดใหญ่หรือกฎที่ซับซ้อนกว่านี้, คุณอาจต้องการดูที่ไลบรารีตัวแยกวิเคราะห์เช่น Parsec ซึ่งสามารถให้ความประณีตและพลังในการประมวลผลข้อความได้มากขึ้น

ดูเพิ่มเติม: