คลาสสตริงของ Salesforce Apex มีเมธอดในตัวมากมายที่ใช้กับประเภทข้อมูลสตริง/ข้อความ เช่น ฟิลด์อุตสาหกรรมและการให้คะแนนบนวัตถุบัญชีมาตรฐาน เมื่อใช้วิธีการเหล่านี้ เราสามารถจัดการข้อมูล Salesforce ได้ตามต้องการ ใน Apex สามารถประกาศสตริงได้โดยใช้ประเภทข้อมูล 'String' ในคู่มือนี้ เราจะมุ่งเน้นไปที่การใช้เมธอดสตริงกับออบเจกต์มาตรฐานของ Salesforce เช่น บัญชีและผู้ติดต่อ
เอเพ็กซ์คลาสสตริง
คลาสสตริงรองรับเมธอดสตริงทั้งหมดซึ่งเป็นแบบดั้งเดิม มันใช้เนมสเปซของระบบ ประเภทข้อมูลที่ใช้ในการประกาศสตริงคือสตริงที่ตามด้วยตัวแปร เราสามารถกำหนดสตริงให้กับตัวแปรนี้ได้
ไวยากรณ์:
ตัวแปรสตริง = ”สตริง”;เรามาพูดถึงวิธีการที่มีอยู่ในคลาส 'string' ของ Apex
1. toLowerCase()
โดยทั่วไป เมธอดนี้จะแปลงอักขระทั้งหมดที่มีอยู่ในสตริงให้เป็นตัวพิมพ์เล็ก เมื่อคุณต้องการแปลงเรกคอร์ดอ็อบเจ็กต์ Salesforce (ฟิลด์ที่เกี่ยวข้องกับสตริง) ให้เป็นตัวพิมพ์เล็ก คุณสามารถใช้เมธอด toLowerCase() ในขณะที่ทำงานกับออบเจ็กต์ คุณต้องส่งชื่อฟิลด์เมื่อคุณทำงานกับอ็อบเจ็กต์ Salesforce
ไวยากรณ์:
- string.toLowerCase()
- Salesforce_obj.fieldName.toLowerCase()
ตัวอย่างทั่วไป:
มามีสตริง 'LINUXHINT' และแปลงเป็นตัวพิมพ์เล็ก
สตริง my_stri = 'LINUXHINT';
system.debug('จริง: '+ my_stri);
system.debug('ตัวพิมพ์เล็ก:'+ my_stri.toLowerCase());
เอาท์พุต:
ด้วยวัตถุติดต่อของ Salesforce:
สร้างวัตถุ 'ผู้ติดต่อ' ด้วย 'แผนก' และ 'ชื่อเรื่อง' และใช้วิธีนี้กับเรกคอร์ดวัตถุ 'ผู้ติดต่อ'
// สร้างวัตถุที่ติดต่อด้วยสองบันทึกอินสแตนซ์
ผู้ติดต่อ obj = ผู้ติดต่อใหม่ (แผนก = 'ฝ่ายขาย', ชื่อ = 'ผู้จัดการ-ผู้บริหาร');
system.debug('ข้อมูลผู้ติดต่อ:'+obj);
// ถึงตัวพิมพ์เล็ก ()
system.debug('แผนกเป็นตัวพิมพ์เล็ก:'+obj.Department.toLowerCase());
system.debug('ชื่อเรื่องเป็นตัวพิมพ์เล็ก:'+obj.Title.toLowerCase());
เอาท์พุต:
2. toUpperCase()
เมธอดนี้จะแปลงอักขระทั้งหมดที่มีอยู่ในสตริง (ประกาศจากคลาส Apex “string”) ให้เป็นตัวพิมพ์ใหญ่
เมื่อคุณต้องการแปลงเรกคอร์ดอ็อบเจ็กต์ Salesforce (ฟิลด์ที่เกี่ยวข้องกับสตริง) ให้เป็นตัวพิมพ์ใหญ่ คุณสามารถใช้เมธอด toUpperCase() ในขณะที่ทำงานกับออบเจ็กต์ คุณต้องส่งชื่อฟิลด์เมื่อคุณทำงานกับอ็อบเจ็กต์ Salesforce
ไวยากรณ์:
- string.toUpperCase()
- Salesforce_obj.fieldName.toUpperCase()
ตัวอย่างทั่วไป:
มามีสตริง 'linuxhint' และแปลงเป็นตัวพิมพ์ใหญ่
สตริง my_stri = 'ลินุกซ์ฮินท์';system.debug('จริง: '+ my_stri);
system.debug('ตัวพิมพ์ใหญ่: '+ my_stri.toUpperCase());
เอาท์พุต:
ด้วยวัตถุติดต่อของ Salesforce:
สร้างวัตถุ 'ผู้ติดต่อ' ด้วย 'แผนก' และ 'ชื่อเรื่อง' และใช้วิธีนี้กับเรกคอร์ดวัตถุ 'ผู้ติดต่อ'
ผู้ติดต่อ obj = ผู้ติดต่อใหม่ (แผนก = 'ฝ่ายขาย', ชื่อ = 'ผู้จัดการ-ผู้บริหาร');system.debug('ข้อมูลผู้ติดต่อ:'+obj);
// ถึงตัวพิมพ์ใหญ่ ()
system.debug('แผนกเป็นตัวพิมพ์ใหญ่:'+obj.Department.toUpperCase());
system.debug('ชื่อเรื่องเป็นตัวพิมพ์ใหญ่:'+obj.Title.toUpperCase());
เอาท์พุต:
3. ตัวพิมพ์ใหญ่ ()
เป็นการดีที่จะเห็นอักขระตัวแรกในรูปแบบตัวพิมพ์ใหญ่ เฉพาะตัวอักษรตัวแรกเท่านั้นที่เป็นตัวพิมพ์ใหญ่ด้วยวิธีนี้ เช่นเดียวกับวิธีการก่อนหน้านี้ มันจะไม่ใช้พารามิเตอร์ใดๆ
ไวยากรณ์:
- string.capitalize()
- Salesforce_obj.fieldName.capitalize()
ตัวอย่างทั่วไป:
มาสร้างสตริง “คำใบ้ลินุกซ์” และแปลงอักขระตัวแรกเป็นตัวพิมพ์ใหญ่กันเถอะ
สตริง my_stri = 'คำใบ้ลินุกซ์';system.debug('จริง: '+ my_stri);
system.debug(my_stri.capitalize());
เอาท์พุต:
ด้วยวัตถุติดต่อของ Salesforce:
ลองใช้วิธีนี้กับฟิลด์วัตถุ 'ผู้ติดต่อ' (แผนกและชื่อเรื่อง) เพื่อทำให้อักขระตัวแรกในสตริงเป็นตัวพิมพ์ใหญ่
ผู้ติดต่อ obj = ผู้ติดต่อใหม่ (แผนก = 'sALES', ชื่อ = 'ผู้จัดการ-ผู้บริหาร');system.debug('ข้อมูลผู้ติดต่อ:'+obj);
// พิมพ์ใหญ่ ()
system.debug(obj.Department.capitalize());
system.debug(obj.Title.capitalize());
เอาท์พุต:
4. ประกอบด้วย ()
เป็นไปได้ที่จะตรวจสอบว่ามีสตริงอยู่ในสตริงอื่นหรือไม่โดยใช้เมธอด Apex สตริงประกอบด้วย () จะส่งกลับค่าบูลีนเป็นจริงหากสตริงที่ระบุมีอยู่ในสตริงจริง มิฉะนั้นจะส่งกลับค่าเท็จ
ไวยากรณ์:
- actual_string.contains(check_string)
- Salesforce_obj.fieldName.contains(check_string)
ตัวอย่างทั่วไป:
มามีสตริง 'คำใบ้ linux' และตรวจสอบว่ามีสตริง 'linux' และ 'python' อยู่ในสตริงนี้หรือไม่
สตริง my_stri = 'คำใบ้ลินุกซ์';system.debug('จริง: '+ my_stri);
system.debug('มีลินุกซ์อยู่:'+my_stri.contains('ลินุกซ์'));
system.debug('python มีอยู่: '+my_stri.contains('python'));
เอาท์พุต:
ด้วยวัตถุติดต่อของ Salesforce:
ตรวจสอบว่ามีสตริง 'Sales' และ 'Process' อยู่ในชื่อ 'Sales-executive' หรือไม่
ผู้ติดต่อ obj = ผู้ติดต่อใหม่ (ชื่อ = 'ผู้บริหารฝ่ายขาย');system.debug('ข้อมูลผู้ติดต่อ:'+obj);
// ประกอบด้วย()
system.debug(obj.Title.contains('การขาย'));
system.debug(obj.Title.contains('กระบวนการ'));
เอาท์พุต:
5. เริ่มต้นด้วย ()
เมธอด startWith() ในคลาส “string” ของ Apex จะคืนค่าจริงหากสตริงที่ระบุเริ่มต้นด้วยค่าสตริง/ฟิลด์ที่กำหนดของออบเจกต์ Salesforce มิฉะนั้นจะส่งกลับค่าเท็จ ใช้สตริงเป็นพารามิเตอร์
ไวยากรณ์:
- actual_string.startsWith(check_string)
- Salesforce_obj.fieldName.startsWith(check_string)
ตัวอย่างทั่วไป:
มาสร้างสตริง 'คำใบ้ลินุกซ์' และตรวจสอบว่าเริ่มต้นด้วยสตริง 'ลินุกซ์' และ 'ไพทอน' หรือไม่
สตริง my_stri = 'คำใบ้ลินุกซ์';system.debug('จริง: '+ my_stri);
system.debug('เริ่มต้นด้วย linux: '+my_stri.startsWith('linux'));
system.debug('เริ่มด้วย python: '+my_stri.startsWith('python'));
เอาท์พุต:
ด้วยวัตถุติดต่อของ Salesforce:
ตรวจสอบว่าชื่อ 'ผู้บริหารฝ่ายขาย' ขึ้นต้นด้วย 'ฝ่ายขาย' และ 'ผู้บริหาร' แยกกันหรือไม่
ผู้ติดต่อ obj = ผู้ติดต่อใหม่ (ชื่อ = 'ผู้บริหารฝ่ายขาย');system.debug('ข้อมูลผู้ติดต่อ:'+obj);
// เริ่มต้นด้วย()
system.debug(obj.Title.startsWith('การขาย'));
system.debug(obj.Title.startsWith('ผู้บริหาร'));
เอาท์พุต:
6. ลงท้ายด้วย()
เมธอดendsWith()ในคลาส “string” ของ Apex คืนค่าจริงหากสตริงที่ระบุลงท้ายด้วยค่าสตริง/ฟิลด์ที่กำหนดของออบเจกต์ Salesforce มิฉะนั้นจะส่งกลับค่าเท็จ ใช้สตริงเป็นพารามิเตอร์
ไวยากรณ์:
- actual_string.ends With(check_string)
- Salesforce_obj.fieldName.endsWith(check_string)
ตัวอย่างทั่วไป:
มาสร้างสตริง 'คำใบ้ linux' และตรวจสอบว่าเริ่มต้นด้วยสตริง 'คำใบ้' และ 'linux' หรือไม่
สตริง my_stri = 'คำใบ้ลินุกซ์';system.debug('จริง: '+ my_stri);
system.debug('จบด้วยคำใบ้: '+my_stri.endsWith('คำใบ้'));
system.debug('ลงท้ายด้วย linux: '+my_stri.endsWith('linux'));
เอาท์พุต:
ด้วยวัตถุติดต่อของ Salesforce:
ตรวจสอบว่าชื่อ 'Sales-executive' ลงท้ายด้วย 'Sales' และ 'executive' แยกกันหรือไม่
ผู้ติดต่อ obj = ผู้ติดต่อใหม่ (ชื่อ = 'ผู้บริหารฝ่ายขาย');system.debug('ข้อมูลผู้ติดต่อ:'+obj);
// ลงท้ายด้วย()
system.debug(obj.Title.endsWith('การขาย'));
system.debug(obj.Title.endsWith('ผู้บริหาร'));
เอาท์พุต:
7. สลับกรณี ()
วิธีนี้มีอยู่ในคลาส 'string' ของ Apex ซึ่งจะสลับอักขระในสตริง (ล่าง – บน)/(บน – ล่าง) และส่งคืนสตริงที่อัปเดต ไม่จำเป็นต้องมีข้อโต้แย้งสำหรับวิธีนี้
ไวยากรณ์:
- string.swapCase()
- Salesforce_obj.fieldName.swapCase()
ตัวอย่างทั่วไป:
มามีสตริง 'Linux Hint' และสลับอักขระทั้งหมดในนั้น
สตริง my_stri = 'คำแนะนำลินุกซ์';system.debug('จริง: '+ my_stri);
system.debug('สลับอักขระ: '+ my_stri.swapCase());
เอาท์พุต:
ด้วยวัตถุบัญชี Salesforce:
พิจารณาบัญชีด้วยชื่อ 'Linux Hint' และสลับอักขระทั้งหมดในนั้น
บัญชี obj = บัญชีใหม่ (ชื่อ = 'Linux Hint');system.debug('ชื่อบัญชี:'+obj);
// สลับกรณี ()
system.debug(obj.Name.swapCase());
เอาท์พุต:
8. isAllLowerCase()
คุณสามารถใช้วิธีนี้ได้หากต้องการตรวจสอบว่าอักขระทั้งหมดในสตริงเป็นตัวพิมพ์เล็กหรือไม่ หากอักขระทั้งหมดเป็นตัวพิมพ์เล็ก ระบบจะส่งกลับค่าจริง มิฉะนั้นจะส่งกลับค่าเท็จ วิธีนี้ไม่จำเป็นต้องใช้พารามิเตอร์
ไวยากรณ์:
- string.isAllLowerCase()
- Salesforce_obj.fieldName.isAllLowerCase()
ตัวอย่างทั่วไป:
ลองใช้สตริง 'linuxhint' และใช้เมธอด isAllLowerCase() เพื่อตรวจสอบว่าอักขระทั้งหมดในสตริงเป็นตัวพิมพ์เล็กหรือไม่
สตริง my_stri = 'ลินุกซ์ฮินท์';system.debug('จริง: '+ my_stri);
system.debug( my_stri.isAllLowerCase());
เอาท์พุต:
ด้วยวัตถุบัญชี Salesforce:
ตรวจสอบว่าอักขระทั้งหมดในชื่อบัญชี 'linuxhint' เป็นตัวพิมพ์เล็กหรือไม่
บัญชี obj = บัญชีใหม่ (ชื่อ = 'linuxhint');system.debug('ชื่อบัญชี:'+obj);
// isAllLowerCase()
system.debug(obj.Name.isAllLowerCase());
เอาท์พุต:
9. isAllUpperCase()
เช่นเดียวกับวิธีก่อนหน้านี้ เราสามารถตรวจสอบว่าอักขระทั้งหมดในสตริงเป็นตัวพิมพ์ใหญ่หรือไม่ นอกจากนี้ยังไม่ใช้พารามิเตอร์และส่งกลับค่าบูลีน (จริง/เท็จ)
ไวยากรณ์:
- string.isAllUpperCase()
- Salesforce_obj.fieldName.isAllUpperCase()
ตัวอย่างทั่วไป:
ลองใช้สตริง “LINUXHINT” และใช้เมธอด isAllUpperCase() เพื่อตรวจสอบว่าอักขระทั้งหมดในสตริงเป็นตัวพิมพ์เล็กหรือไม่
สตริง my_stri = 'LINUXHINT';system.debug('จริง: '+ my_stri);
system.debug( my_stri.isAllUpperCase());
เอาท์พุต:
ด้วยวัตถุบัญชี Salesforce:
ตรวจสอบว่าตัวอักษรทั้งหมดในชื่อบัญชี “เกษตร” เป็นตัวพิมพ์ใหญ่หรือไม่
บัญชี obj = บัญชีใหม่ (ชื่อ = 'การเกษตร');system.debug('ชื่อบัญชี:'+obj);
// isAllLUpperCase()
system.debug(obj.Name.isAllUpperCase());
เอาท์พุต:
10. ย้อนกลับ ()
เมธอดย้อนกลับ () ในคลาส Apex 'string' จะย้อนกลับสตริงที่กำหนด นอกจากนี้ยังไม่ใช้พารามิเตอร์และส่งกลับสตริง
ไวยากรณ์:
- string.reverse()
- Salesforce_obj.fieldName.reverse()
ตัวอย่างทั่วไป:
ลองใช้สตริง 'คำใบ้ linux' แล้วย้อนกลับ
สตริง my_stri = 'ลินุกซ์ฮินท์';system.debug('จริง: '+ my_stri);
system.debug('ย้อนกลับ: '+ my_stri.reverse());
เอาท์พุต:
ด้วยวัตถุบัญชี Salesforce:
สร้างวัตถุบัญชีด้วยชื่อ 'linuxhint' และย้อนกลับ
บัญชี obj = บัญชีใหม่ (ชื่อ = 'linuxhint');system.debug('ชื่อบัญชี:'+obj);
// ย้อนกลับ()
system.debug(obj.Name.reverse());
เอาท์พุต:
บทสรุป
เราได้พูดคุยเกี่ยวกับคลาส “string” ของ Salesforce Apex จากนั้นเราจะดำเนินการตามวิธีการและหารือในรายละเอียดทีละรายการ ในแต่ละวิธี เราได้เรียนรู้วิธีใช้วิธีการเหล่านี้กับสตริงอย่างง่ายและออบเจ็กต์มาตรฐานของ Salesforce เช่น 'บัญชี' และ 'ผู้ติดต่อ' 10 อันดับแรกและวิธีการที่มีประโยชน์ในคลาส 'string' ของ Apex นั้นถูกกล่าวถึงพร้อมกับตัวอย่างและภาพหน้าจอผลลัพธ์ที่ดี หลังจากอ่านบทความนี้ ตอนนี้คุณรู้วิธีนำเมธอดสตริงเหล่านี้ไปใช้กับข้อมูล Salesforce แล้ว