การดึงข้อมูลย่อยออกมา

Arduino:
การดึงข้อมูลย่อยออกมา

วิธีการ:

สตริงใน Arduino สามารถถูกตัดเป็นส่วนย่อยๆ ได้โดยใช้ substring():

void setup() {
  Serial.begin(9600);
  String phrase = "Hello, Arduino World!";
  String greeting = phrase.substring(0, 5);
  String location = phrase.substring(7, 19);
  
  Serial.println(greeting); // พิมพ์ "Hello"
  Serial.println(location); // พิมพ์ "Arduino World"
}

void loop() {
  // ที่นี่ไม่มีอะไรที่ต้องวนซ้ำ.
}

ผลลัพธ์บน Serial Monitor:

Hello
Arduino World

ลงลึก

ก่อนที่ Arduino จะทำให้มันง่าย, โปรแกรมเมอร์ใช้ arrays ของ char และฟังก์ชันเช่น strncpy ในภาษา C มันไม่ได้เป็นเพียงแค่วัตถุโบราณ, มันยังคงถูกใช้งานสำหรับการดำเนินการระดับต่ำ ฟังก์ชัน substring() ใน Arduino จริงๆแล้วเป็น wrapper ที่ทำให้มันง่ายขึ้นสำหรับเราเมื่อจัดการกับอ็อบเจกต์ String แต่ต้องระวัง, การใช้ String อาจนำไปสู่การแตกตัวของหน่วยความจำ หากความมั่นคงเป็นสิ่งสำคัญ, โดยเฉพาะในโปรแกรมที่ทำงานยาวนานหรือซับซ้อน, ควรพิจารณาวิธีการแบบเก่าของ arrays char.

ทางเลือกต่อ substring() รวมถึงการจัดการ arrays ของ char โดยตรงหรือฟังก์ชันเช่น strtok() ซึ่งอาจมีประสิทธิภาพมากขึ้นแต่อาจทำให้คุณต้องจัดการกับโค้ดเพิ่มเติม

ใต้ฮู้ด, substring() สร้างอ็อบเจกต์ String ใหม่ซึ่งมีอักขระตั้งแต่ดัชนีเริ่มต้นไปจนถึงก่อนดัชนีสิ้นสุด, ซึ่งสามารถข้ามได้หากคุณต้องการทุกอย่างจนจบ

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