Arduino:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง
วิธีการ:
Arduino ที่รู้จักกันดีในการโต้ตอบกับฮาร์ดแวร์ ยังรวมถึงความสามารถในการจัดการสตริงพื้นฐานผ่านวัตถุ String
ของมัน อย่างไรก็ตาม มันขาดฟังก์ชัน capitalize
โดยตรงที่เห็นในภาษาระดับสูง เพราะฉะนั้น เราจึงดำเนินการทำตัวพิมพ์ใหญ่โดยการวนลูปเข้าไปในสตริงและทำการเปลี่ยนแปลงกรณีของตัวอักษร
นี่คือตัวอย่างพื้นฐานที่ไม่ใช้ไลบรารีจากภายนอก:
String capitalizeString(String input) {
if (input.length() == 0) {
return ""; // คืนค่าสตริงว่างหากนำเข้าว่าง
}
input.toLowerCase(); // แปลงสตริงทั้งหมดเป็นตัวพิมพ์เล็กก่อน
input.setCharAt(0, input.charAt(0) - 32); // ทำตัวแรกให้เป็นตัวพิมพ์ใหญ่
// ทำให้ตัวอักษรที่ตามหลังเว้นวรรคเป็นตัวพิมพ์ใหญ่
for (int i = 1; i < input.length(); i++) {
if (input.charAt(i - 1) == ' ') {
input.setCharAt(i, input.charAt(i) - 32);
}
}
return input;
}
void setup() {
Serial.begin(9600);
String testStr = "hello arduino world";
String capitalizedStr = capitalizeString(testStr);
Serial.println(capitalizedStr); // ผลลัพธ์: "Hello Arduino World"
}
void loop() {
// ลูปว่าง
}
ส่วนของโค้ดนี้กำหนดฟังก์ชัน capitalizeString
ที่แปลงสตริงทั้งหมดให้เป็นตัวพิมพ์เล็กเพื่อมาตรฐานกรณีของมัน จากนั้นจึงทำให้ตัวอักษรตัวแรกและตัวอักษรที่ตามหลังเว้นวรรคเป็นตัวพิมพ์ใหญ่ ซึ่งดำเนินการทำตัวพิมพ์ใหญ่ในแต่ละคำของสตริงนำเข้า โปรดทราบว่าการดำเนินการนี้ใช้การเข้ารหัสอักขระ ASCII เป็นการสมมติและอาจจำเป็นต้องปรับเปลี่ยนสำหรับการสนับสนุน Unicode อย่างเต็มรูปแบบ
ณ ปัจจุบัน ไม่มีไลบรารีจากภายนอกที่ได้รับการยอมรับอย่างกว้างขวางโดยเฉพาะสำหรับการจัดการสตริงในระบบนิเวศ Arduino หลักๆ เนื่องจากระบบนี้มุ่งเน้นไปที่การโต้ตอบกับฮาร์ดแวร์และประสิทธิภาพ อย่างไรก็ตาม ตัวอย่างที่ให้มาเป็นวิธีการตรงไปตรงมาในการบรรลุการทำสตริงเป็นตัวพิมพ์ใหญ่ในสภาพแวดล้อมการเขียนโปรแกรมของ Arduino