การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง

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 เพื่อบรรลุเป้าหมายนี้