ฟังก์ชันของฟังก์ชันนี้คือการสกัดกั้นสตริงผสมภาษาอังกฤษ-จีนที่ระบุ และคงความยาวของการแสดงผลไว้ที่หนึ่ง นั่นคือการสกัดอักษรจีนหนึ่งตัวเป็นคำภาษาอังกฤษสองคำ คำอธิบาย: ฟังก์ชันของฟังก์ชันนี้คือการสกัดกั้นสตริงผสมภาษาอังกฤษ-จีนที่ระบุ และคงความยาวของการแสดงผลไว้ที่หนึ่ง นั่นคือการสกัดอักษรจีนหนึ่งตัวเป็นคำภาษาอังกฤษสองคำ
วัตถุประสงค์: โดยทั่วไปใช้ในรายการแสดงชื่อเรื่องเพื่อหลีกเลี่ยงการแทรกสตริงที่ดักฟังอย่างไม่สม่ำเสมอ
รหัสโปรแกรม
คัดลอกรหัสรหัสดังต่อไปนี้:
'//สตริง A_strString ที่จะประมวลผล
'//A_intLen ขึ้นอยู่กับจำนวนอักขระภาษาอังกฤษ
'//A_strAddString หาก A_strString เพิ่มส่วนต่อท้ายเมื่อตัดอักขระ เช่น:... ก็สามารถเว้นว่างได้
ฟังก์ชั่น CutString (byval A_strString, byval A_intLen, byval A_strAddString)
สลัว MM_objRe,MM_objMs,MM_objMh
dimMM_strCut,MM_intLen
setMM_objRe=RegExp ใหม่
MM_objRe.Global=true'การค้นหาทั่วโลก
MM_objRe.IgnoreCase=true' ไม่คำนึงถึงขนาดตัวพิมพ์
MM_objRe.Pattern=[^/x00-/xff]
MM_intLen=A_intLen
ถ้า len(A_strString)<=A_intLen แล้ว
MM_strCut=A_strString
อื่น
MM_strCut=ซ้าย(A_strString,MM_intLen)
ตั้งค่า MM_objMs=MM_objRe.execute(MM_strCut)
ถ้า MM_objMs.count<>MM_intLen แล้ว
สำหรับแต่ละ MM_objMh ใน MM_objMs
ถ้า MM_objMh.FirstIndex<MM_intLen แล้ว
MM_intLen=MM_intLen-1
อื่น
ออกเพื่อ
สิ้นสุดถ้า
ต่อไป
อื่น
MM_intLen=MM_intLen/2
สิ้นสุดถ้า
MM_strCut=ซ้าย(A_strString,MM_intLen) & A_strAddString
สิ้นสุดถ้า
CutString=MM_strCut
setMM_objRe=ไม่มีอะไรเลย
ฟังก์ชั่นสิ้นสุด
ซึ่งแตกต่างจากที่ได้รับความนิยมบนอินเทอร์เน็ตในปัจจุบัน นิพจน์ทั่วไปจะใช้เพื่อรับอักขระที่ไม่ใช่ ANSI (อักขระเริ่มต้นที่ไม่ใช่ ANSI ในที่นี้คืออักขระจีน หากมีการเบี่ยงเบน นิพจน์ทั่วไปสามารถแก้ไขได้เพื่อให้บรรลุวัตถุประสงค์) . ก่อนอื่น โปรดทราบ: ความยาวที่ระบุของฟังก์ชันจะขึ้นอยู่กับจำนวนอักขระภาษาอังกฤษ นั่นคือกำหนดให้เป็น 10 ซึ่งหมายถึงตัวอักษรภาษาอังกฤษ 10 ตัวหรือตัวอักษรจีน 5 ตัว
มีการเพิ่มประสิทธิภาพสองประการ:
จุดแรก: รับอักขระที่มีความยาวที่ระบุโดยตรง เพราะไม่ว่าจะเป็นอักขระจีนทั้งหมดหรือภาษาอังกฤษทั้งหมด ความยาวสูงสุดก็เป็นเพียงความยาวของภาษาอังกฤษทั้งหมดเท่านั้น และอักขระที่เกินมาจะถูกตัดอักขระออกโดยสิ้นเชิง
ประเด็นที่สอง: ใช้นิพจน์ทั่วไปเพื่อค้นหาอักขระภาษาจีนในช่วง และข้ามเฉพาะจำนวนคำของอักขระจีนแต่ละตัว ซึ่งสามารถลดจำนวนการวนซ้ำได้