Arduino ที่รู้จักกันดีในการโต้ตอบกับฮาร์ดแวร์ ยังรวมถึงความสามารถในการจัดการสตริงพื้นฐานผ่านวัตถุ String ของมัน อย่างไรก็ตาม มันขาดฟังก์ชัน capitalize โดยตรงที่เห็นในภาษาระดับสูง เพราะฉะนั้น เราจึงดำเนินการทำตัวพิมพ์ใหญ่โดยการวนลูปเข้าไปในสตริงและทำการเปลี่ยนแปลงกรณีของตัวอักษร นี่คือตัวอย่างพื้นฐานที่ไม่ใช้ไลบรารีจากภายนอก.
String
capitalize
มาเริ่มต่อสตริงกัน!.
ออบเจกต์ String ของ Arduino มีเมธอด toLowerCase() ที่มีประโยชน์ โดยเรียกใช้งานกับสตริงของคุณ และเพียงแค่นั้นมันก็กลายเป็นตัวพิมพ์เล็ก.
toLowerCase()
ลองนึกถึงวิธีลบตัวเลขทั้งหมดออกจากสตริงของเรา เรามีสตริงที่มีตัวเลขแบบสุ่ม และเราต้องการผลลัพธ์ที่สะอาด เฉพาะตัวอักษรเท่านั้น.
สตริงใน Arduino สามารถถูกตัดเป็นส่วนย่อยๆ ได้โดยใช้ substring().
substring()
ในอดีต, โปรแกรมเมอร์ภาษา C ใช้ฟังก์ชัน strlen() จาก <string.h>, นับตัวอักษรจนกระทั่งพบตัว null-terminator ในโลกของ Arduino, คลาส String ทำให้ชีวิตง่ายขึ้นด้วยวิธีการ length() ที่มีอยู่แล้ว อย่างไรก็ตาม, การใช้งาน String อาจทำให้หน่วยความจำจำกัดของอุปกรณ์กระจายตัวเป็นเวลานาน ทางเลือกคืออะไร?
strlen()
<string.h>
length()
Arduino ไม่มีฟีเจอร์การใส่ค่าตัวแปรลงในสตริงเป็นค่าปริยาย แต่คุณสามารถได้ผลลัพธ์ที่คล้ายคลึงกันโดยใช้ sprintf() หรือโดยการผูกสตริงและตัวแปรเข้าด้วยกัน.
sprintf()
เพื่อลบอัญประกาศออกจากสตริงใน Arduino คุณสามารถวนลูปผ่านอักขระและสร้างสตริงใหม่โดยไม่มีตัวอักษรอัญประกาศ เช่น.
Arduino ไม่ได้รองรับการค้นหาและแทนที่สตริงโดยธรรมชาติในลักษณะเดียวกับภาษาโปรแกรมระดับสูง อย่างไรก็ตาม, คุณสามารถทำงานกับอาร์เรย์ของตัวอักษรหรือใช้คลาส String ซึ่งมีเมธอด replace().
replace()
Arduino ไม่มีการสนับสนุน regex อย่างตรงไปตรงมาในไลบรารีมาตรฐาน อย่างไรก็ตาม คุณสามารถบรรลุฟังก์ชันคล้ายคลึงกับ regex สำหรับรูปแบบที่ง่ายๆ โดยใช้ฟังก์ชันต่างๆ ของข้อความ หรือสำหรับความต้องการที่ซับซ้อนกว่า สามารถทำการรวมไลบรารีของบุคคลที่สาม เช่น regex.
regex