Fish Shell:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง
วิธีทำ:
ใน Fish Shell, สามารถจัดการข้อความได้โดยตรงด้วยฟังก์ชันที่มีอยู่ภายในตัว โดยไม่ต้องใช้เครื่องมือหรือไลบรารีภายนอก การทำให้สตริงเป็นตัวพิมพ์ใหญ่ คุณสามารถรวมคำสั่ง string
กับ subcommands ได้
# ตัวอย่างสตริง
set sample_string "hello world"
# ทำให้ตัวอักษรตัวแรกเป็นตัวพิมพ์ใหญ่
set capitalized_string (string sub -l 1 -- $sample_string | string upper)(string sub -s 2 -- $sample_string)
echo $capitalized_string
ผลลัพธ์:
Hello world
สำหรับสถานการณ์ที่ต้องการให้ตัวอักษรเริ่มต้นของทุกคำในข้อความเป็นตัวพิมพ์ใหญ่ (เช่น การแปลง “hello world” เป็น “Hello World”), คุณจะต้องวนลูปที่ละคำ โดยใช้ลอจิกการทำให้เป็นตัวพิมพ์ใหญ่กับแต่ละคำ:
# ตัวอย่างประโยค
set sentence "hello fish shell programming"
# ทำให้ตัวอักษรเริ่มต้นของแต่ละคำเป็นตัวพิมพ์ใหญ่
set capitalized_words (string split " " -- $sentence | while read -l word; string sub -l 1 -- $word | string upper; and string sub -s 2 -- $word; end)
# เชื่อมคำที่ทำให้เป็นตัวพิมพ์ใหญ่
set capitalized_sentence (string join " " -- $capitalized_words)
echo $capitalized_sentence
ผลลัพธ์:
Hello Fish Shell Programming
โปรดทราบว่า Fish Shell ไม่มีการเสนอวิธีการใช้คำสั่งเดียวโดยตรงสำหรับการทำให้ทั้งประโยคเป็นตัวพิมพ์ใหญ่เหมือนที่ภาษาการเขียนโปรแกรมบางภาษารองรับผ่านวิธีการจัดการสตริงของพวกเขา ดังนั้น การรวม string split
, string sub
, string upper
, เเละการเชื่อมกลับข้อความ เป็นวิธีการที่ถูกต้องตามไวยากรณ์ของ Fish Shell เพื่อบรรลุเป้าหมายนี้