logologo
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
เริ่มต้น
คู่มือ
การพัฒนา
ปลั๊กอิน
API
logologo
ภาพรวม
คำอธิบายการกำหนดค่า

ไวยากรณ์เทมเพลต

การใช้งานพื้นฐาน
การวนซ้ำ

เครื่องมือจัดรูปแบบ

ภาพรวม
การจัดรูปแบบข้อความ
การจัดรูปแบบตัวเลข
การจัดรูปแบบสกุลเงิน
การจัดรูปแบบวันที่
การจัดรูปแบบช่วงเวลา
การจัดรูปแบบอาร์เรย์

ฟังก์ชันขั้นสูง

การกำหนดเงื่อนไข
คุณสมบัติขั้นสูง
คำถามที่พบบ่อย
กรณีการใช้งาน
Previous Pageภาพรวม
Next Pageการจัดรูปแบบตัวเลข
TIP

เอกสารนี้แปลโดย AI หากมีข้อมูลที่ไม่ถูกต้อง โปรดดูเวอร์ชันภาษาอังกฤษ

#การจัดรูปแบบข้อความ

ส่วนนี้จะอธิบายเกี่ยวกับฟอร์แมตเตอร์ (Formatter) ต่างๆ สำหรับข้อมูลประเภทข้อความ โดยจะแนะนำไวยากรณ์ ตัวอย่าง และผลลัพธ์ของฟอร์แมตเตอร์แต่ละตัวตามลำดับครับ/ค่ะ

#1. :lowerCase

#คำอธิบายไวยากรณ์

แปลงตัวอักษรทั้งหมดให้เป็นตัวพิมพ์เล็กครับ/ค่ะ

#ตัวอย่าง
'My Car':lowerCase()   // ผลลัพธ์คือ "my car"
'my car':lowerCase()   // ผลลัพธ์คือ "my car"
null:lowerCase()       // ผลลัพธ์คือ null
1203:lowerCase()       // ผลลัพธ์คือ 1203
#ผลลัพธ์

ผลลัพธ์ของแต่ละตัวอย่างจะแสดงอยู่ในส่วนคอมเมนต์ครับ/ค่ะ

#2. :upperCase

#คำอธิบายไวยากรณ์

แปลงตัวอักษรทั้งหมดให้เป็นตัวพิมพ์ใหญ่ครับ/ค่ะ

#ตัวอย่าง
'My Car':upperCase()   // ผลลัพธ์คือ "MY CAR"
'my car':upperCase()   // ผลลัพธ์คือ "MY CAR"
null:upperCase()       // ผลลัพธ์คือ null
1203:upperCase()       // ผลลัพธ์คือ 1203
#ผลลัพธ์

ผลลัพธ์ของแต่ละตัวอย่างจะแสดงอยู่ในส่วนคอมเมนต์ครับ/ค่ะ

#3. :ucFirst

#คำอธิบายไวยากรณ์

แปลงเฉพาะตัวอักษรแรกของสตริงให้เป็นตัวพิมพ์ใหญ่ ส่วนที่เหลือจะคงเดิมครับ/ค่ะ

#ตัวอย่าง
'My Car':ucFirst()     // ผลลัพธ์คือ "My Car"
'my car':ucFirst()     // ผลลัพธ์คือ "My car"
null:ucFirst()         // ผลลัพธ์คือ null
undefined:ucFirst()    // ผลลัพธ์คือ undefined
1203:ucFirst()         // ผลลัพธ์คือ 1203
#ผลลัพธ์

ผลลัพธ์จะแสดงอยู่ในส่วนคอมเมนต์ครับ/ค่ะ

#4. :ucWords

#คำอธิบายไวยากรณ์

แปลงตัวอักษรแรกของแต่ละคำในสตริงให้เป็นตัวพิมพ์ใหญ่ครับ/ค่ะ

#ตัวอย่าง
'my car':ucWords()     // ผลลัพธ์คือ "My Car"
'My cAR':ucWords()     // ผลลัพธ์คือ "My CAR"
null:ucWords()         // ผลลัพธ์คือ null
undefined:ucWords()    // ผลลัพธ์คือ undefined
1203:ucWords()         // ผลลัพธ์คือ 1203
#ผลลัพธ์

ผลลัพธ์จะแสดงตามตัวอย่างที่ให้ไว้ครับ/ค่ะ

#5. :print(message)

#คำอธิบายไวยากรณ์

จะคืนค่าข้อความที่ระบุเสมอ ไม่ว่าข้อมูลต้นฉบับจะเป็นอะไรก็ตาม ฟอร์แมตเตอร์นี้มีประโยชน์สำหรับใช้เป็นค่าเริ่มต้น (fallback) ครับ/ค่ะ พารามิเตอร์:

  • message: ข้อความที่ต้องการให้แสดง
#ตัวอย่าง
'My Car':print('hello!')   // ผลลัพธ์คือ "hello!"
'my car':print('hello!')   // ผลลัพธ์คือ "hello!"
null:print('hello!')       // ผลลัพธ์คือ "hello!"
1203:print('hello!')       // ผลลัพธ์คือ "hello!"
#ผลลัพธ์

จะคืนค่าสตริง "hello!" ที่ระบุไว้ในทุกกรณีครับ/ค่ะ

#6. :printJSON

#คำอธิบายไวยากรณ์

แปลงออบเจกต์ (Object) หรืออาร์เรย์ (Array) ให้เป็นสตริงในรูปแบบ JSON ครับ/ค่ะ

#ตัวอย่าง
[{'id':2,'name':'homer'},{'id':3,'name':'bart'}]:printJSON()
// ผลลัพธ์คือ "[
  {"id": 2, "name": "homer"},
  {"id": 3, "name": "bart"}
]"
'my car':printJSON()   // ผลลัพธ์คือ ""my car""
#ผลลัพธ์

ผลลัพธ์ที่ได้คือสตริงในรูปแบบ JSON ที่ถูกแปลงจากข้อมูลที่ให้ไว้ครับ/ค่ะ

#7. :unaccent

#คำอธิบายไวยากรณ์

ลบเครื่องหมายเน้นเสียง (diacritical marks) ออกจากข้อความ เพื่อให้ข้อความอยู่ในรูปแบบที่ไม่มีเครื่องหมายเน้นเสียงครับ/ค่ะ

#ตัวอย่าง
'crème brulée':unaccent()   // ผลลัพธ์คือ "creme brulee"
'CRÈME BRULÉE':unaccent()   // ผลลัพธ์คือ "CREME BRULEE"
'être':unaccent()           // ผลลัพธ์คือ "etre"
'éùïêèà':unaccent()       // ผลลัพธ์คือ "euieea"
#ผลลัพธ์

ผลลัพธ์ของทุกตัวอย่างจะแสดงข้อความที่ถูกลบเครื่องหมายเน้นเสียงออกไปแล้วครับ/ค่ะ

#8. :convCRLF

#คำอธิบายไวยากรณ์

แปลงอักขระขึ้นบรรทัดใหม่ (carriage return และ newline) (\r\n หรือ \n) ให้เป็นแท็กการขึ้นบรรทัดใหม่เฉพาะสำหรับเอกสารนั้นๆ ซึ่งมีประโยชน์สำหรับไฟล์รูปแบบต่างๆ เช่น DOCX, PPTX, ODT, ODP และ ODS ครับ/ค่ะ ข้อควรทราบ: เมื่อใช้ :html ก่อน :convCRLF อักขระ \r\n จะถูกแปลงเป็นแท็ก <br> ครับ/ค่ะ

#ตัวอย่าง
// สำหรับรูปแบบ ODT:
'my blue 
 car':convCRLF()    // ผลลัพธ์คือ "my blue <text:line-break/> car"
'my blue 
 car':convCRLF()    // ผลลัพธ์คือ "my blue <text:line-break/> car"

// สำหรับรูปแบบ DOCX:
'my blue 
 car':convCRLF()    // ผลลัพธ์คือ "my blue </w:t><w:br/><w:t> car"
'my blue 
 car':convCRLF()    // ผลลัพธ์คือ "my blue </w:t><w:br/><w:t> car"
#ผลลัพธ์

ผลลัพธ์จะแสดงแท็กการขึ้นบรรทัดใหม่ที่เหมาะสมกับรูปแบบเอกสารเป้าหมายครับ/ค่ะ

#9. :substr(begin, end, wordMode)

#คำอธิบายไวยากรณ์

ดำเนินการตัดสตริง โดยเริ่มจากดัชนี begin (นับจาก 0) และสิ้นสุดก่อนดัชนี end ครับ/ค่ะ พารามิเตอร์เสริม wordMode (ค่าบูลีน หรือ last) ใช้เพื่อควบคุมว่าจะรักษารูปแบบคำให้สมบูรณ์หรือไม่ โดยไม่ตัดคำกลางคันครับ/ค่ะ

#ตัวอย่าง
'foobar':substr(0, 3)            // ผลลัพธ์คือ "foo"
'foobar':substr(1)               // ผลลัพธ์คือ "oobar"
'foobar':substr(-2)              // ผลลัพธ์คือ "ar"
'foobar':substr(2, -1)           // ผลลัพธ์คือ "oba"
'abcd efg hijklm':substr(0, 11, true)  // ผลลัพธ์คือ "abcd efg "
'abcd efg hijklm':substr(1, 11, true)  // ผลลัพธ์คือ "abcd efg "
#ผลลัพธ์

ผลลัพธ์ที่ได้คือสตริงย่อยที่ถูกแยกออกมาตามพารามิเตอร์ที่กำหนดครับ/ค่ะ

#10. :split(delimiter)

#คำอธิบายไวยากรณ์

แยกสตริงออกเป็นอาร์เรย์โดยใช้ตัวคั่น (delimiter) ที่ระบุครับ/ค่ะ พารามิเตอร์:

  • delimiter: สตริงตัวคั่น
#ตัวอย่าง
'abcdefc12':split('c')    // ผลลัพธ์คือ ["ab", "def", "12"]
1222.1:split('.')         // ผลลัพธ์คือ ["1222", "1"]
'ab/cd/ef':split('/')      // ผลลัพธ์คือ ["ab", "cd", "ef"]
#ผลลัพธ์

ผลลัพธ์ที่ได้คืออาร์เรย์ที่ถูกแยกด้วยตัวคั่นที่กำหนดครับ/ค่ะ

#11. :padl(targetLength, padString)

#คำอธิบายไวยากรณ์

เติมอักขระที่ระบุทางด้านซ้ายของสตริง จนกว่าสตริงสุดท้ายจะมี targetLength ตามที่กำหนดครับ/ค่ะ หากความยาวเป้าหมายน้อยกว่าความยาวของสตริงต้นฉบับ จะคืนค่าสตริงต้นฉบับครับ/ค่ะ พารามิเตอร์:

  • targetLength: ความยาวรวมที่ต้องการ
  • padString: สตริงที่ใช้สำหรับเติม (ค่าเริ่มต้นคือช่องว่าง)
#ตัวอย่าง
'abc':padl(10)              // ผลลัพธ์คือ "       abc"
'abc':padl(10, 'foo')       // ผลลัพธ์คือ "foofoofabc"
'abc':padl(6, '123465')     // ผลลัพธ์คือ "123abc"
'abc':padl(8, '0')          // ผลลัพธ์คือ "00000abc"
'abc':padl(1)               // ผลลัพธ์คือ "abc"
#ผลลัพธ์

ผลลัพธ์ของแต่ละตัวอย่างคือสตริงที่ถูกเติมทางด้านซ้ายตามที่กำหนดครับ/ค่ะ

#12. :padr(targetLength, padString)

#คำอธิบายไวยากรณ์

เติมอักขระที่ระบุทางด้านขวาของสตริง จนกว่าสตริงสุดท้ายจะมี targetLength ตามที่กำหนดครับ/ค่ะ พารามิเตอร์เหมือนกับ :padl ครับ/ค่ะ

#ตัวอย่าง
'abc':padr(10)              // ผลลัพธ์คือ "abc       "
'abc':padr(10, 'foo')       // ผลลัพธ์คือ "abcfoofoof"
'abc':padr(6, '123465')     // ผลลัพธ์คือ "abc123"
'abc':padr(8, '0')          // ผลลัพธ์คือ "abc00000"
'abc':padr(1)               // ผลลัพธ์คือ "abc"
#ผลลัพธ์

ผลลัพธ์ที่ได้คือสตริงที่ถูกเติมทางด้านขวาครับ/ค่ะ

#13. :ellipsis(maximum)

#คำอธิบายไวยากรณ์

หากข้อความมีความยาวเกินจำนวนอักขระที่ระบุ จะเพิ่มเครื่องหมายจุดไข่ปลา ("...") ไว้ที่ท้ายข้อความครับ/ค่ะ พารามิเตอร์:

  • maximum: จำนวนอักขระสูงสุดที่อนุญาต
#ตัวอย่าง
'abcdef':ellipsis(3)      // ผลลัพธ์คือ "abc..."
'abcdef':ellipsis(6)      // ผลลัพธ์คือ "abcdef"
'abcdef':ellipsis(10)     // ผลลัพธ์คือ "abcdef"
#ผลลัพธ์

ตัวอย่างจะแสดงข้อความที่ถูกตัดและเพิ่มเครื่องหมายจุดไข่ปลา หากจำเป็นครับ/ค่ะ

#14. :prepend(textToPrepend)

#คำอธิบายไวยากรณ์

เพิ่มข้อความที่ระบุไว้ที่ด้านหน้าของสตริงครับ/ค่ะ พารามิเตอร์:

  • textToPrepend: ข้อความนำหน้า
#ตัวอย่าง
'abcdef':prepend('123')     // ผลลัพธ์คือ "123abcdef"
#ผลลัพธ์

ผลลัพธ์ที่ได้คือสตริงที่มีข้อความนำหน้าตามที่ระบุครับ/ค่ะ

#15. :append(textToAppend)

#คำอธิบายไวยากรณ์

เพิ่มข้อความที่ระบุไว้ที่ด้านท้ายของสตริงครับ/ค่ะ พารามิเตอร์:

  • textToAppend: ข้อความต่อท้าย
#ตัวอย่าง
'abcdef':append('123')      // ผลลัพธ์คือ "abcdef123"
#ผลลัพธ์

ผลลัพธ์ที่ได้คือสตริงที่มีข้อความต่อท้ายตามที่ระบุครับ/ค่ะ

#16. :replace(oldText, newText)

#คำอธิบายไวยากรณ์

แทนที่ oldText ทั้งหมดที่พบในข้อความด้วย newText ครับ/ค่ะ พารามิเตอร์:

  • oldText: ข้อความเก่าที่ต้องการแทนที่
  • newText: ข้อความใหม่ที่จะใช้แทนที่ ข้อควรทราบ: หาก newText เป็น null หมายความว่าจะลบข้อความที่ตรงกันออกไปครับ/ค่ะ
#ตัวอย่าง
'abcdef abcde':replace('cd', 'OK')    // ผลลัพธ์คือ "abOKef abOKe"
'abcdef abcde':replace('cd')          // ผลลัพธ์คือ "abef abe"
'abcdef abcde':replace('cd', null)      // ผลลัพธ์คือ "abef abe"
'abcdef abcde':replace('cd', 1000)      // ผลลัพธ์คือ "ab1000ef ab1000e"
#ผลลัพธ์

ผลลัพธ์ที่ได้คือสตริงหลังจากที่ได้ทำการแทนที่ส่วนที่ระบุแล้วครับ/ค่ะ

#17. :len

#คำอธิบายไวยากรณ์

คืนค่าความยาวของสตริงหรืออาร์เรย์ครับ/ค่ะ

#ตัวอย่าง
'Hello World':len()     // ผลลัพธ์คือ 11
'':len()                // ผลลัพธ์คือ 0
[1,2,3,4,5]:len()       // ผลลัพธ์คือ 5
[1,'Hello']:len()       // ผลลัพธ์คือ 2
#ผลลัพธ์

ผลลัพธ์ที่ได้คือค่าความยาวที่สอดคล้องกันครับ/ค่ะ

#18. :t

#คำอธิบายไวยากรณ์

แปลข้อความโดยใช้พจนานุกรมการแปลครับ/ค่ะ ตัวอย่างและผลลัพธ์จะขึ้นอยู่กับการตั้งค่าพจนานุกรมการแปลจริงครับ/ค่ะ

#19. :preserveCharRef

#คำอธิบายไวยากรณ์

โดยปกติแล้ว อักขระที่ไม่ถูกต้องบางตัวใน XML (เช่น &, >, <, เป็นต้น) จะถูกลบออกไป แต่ฟอร์แมตเตอร์นี้จะคงการอ้างอิงอักขระ (character references) ไว้ (เช่น &#xa7; จะยังคงเดิม) ซึ่งเหมาะสำหรับสถานการณ์การสร้าง XML โดยเฉพาะครับ/ค่ะ ตัวอย่างและผลลัพธ์จะขึ้นอยู่กับกรณีการใช้งานเฉพาะครับ/ค่ะ