ບໍລິການ ScriptForge.String

ບໍລິການ String ໃຫ້ການລວບລວມເມທອດສຳລັບການປະມວນຜົນສະຕຣິງ. ເມທອດເຫຼົ່ານີ້ສາມາດໃຊ້ເພື່ອ:

ຄຳນິຍາມ

ການຂຶ້ນແຖວໃໝ່ (Line breaks)

ບໍລິການ String ຮູ້ຈັກການຂຶ້ນແຖວໃໝ່ດັ່ງຕໍ່ໄປນີ້:

ຊື່ສັນຍະລັກ

ລະຫັດ ASCII

Line feed
Vertical tab
Carriage return
Carriage return + Line feed
File separator
Group separator
Record separator
Next line
Line separator
Paragraph separator

10
12
13
13 + 10
28
29
30
133
8232
8233


ຊ່ອງວ່າງ (Whitespaces)

ບໍລິການ String ຮູ້ຈັກຊ່ອງວ່າງດັ່ງຕໍ່ໄປນີ້:

ຊື່ສັນຍະລັກ

ລະຫັດ ASCII

Space
Horizontal tab
Line feed
Vertical tab
Form feed
Carriage return
Next line
No-break space
Line separator
Paragraph separator

32
9
10
11
12
13
133
160
8232
8233


ລຳດັບການຫຼົບຫຼີກ (Escape sequences)

ລຸ່ມນີ້ແມ່ນລາຍການລຳດັບການຫຼົບຫຼີກທີ່ສາມາດໃຊ້ໃນສະຕຣິງໄດ້.

ລຳດັບການຫຼົບຫຼີກ

ຊື່ສັນຍະລັກ

ລະຫັດ ASCII

\n
\r
\t

Line feed
Carriage return
Horizontal tab

10
13
9


ໄອຄອນ ເຄັດລັບ

ເພື່ອໃຫ້ລຳດັບການຫຼົບຫຼີກ "\n" ຖືກຕີຄວາມໝາຍເປັນສະຕຣິງປົກກະຕິ, ໃຫ້ໃຊ້ "\\n" ແທນ "\" & Chr(10).


ຕົວອັກສອນທີ່ບໍ່ສາມາດພິມໄດ້:

ຕົວອັກສອນທີ່ກຳນົດໃນ Unicode Character Database ເປັນ “Other” ຫຼື “Separator” ແມ່ນຖືກພິຈາລະນາເປັນຕົວອັກສອນທີ່ບໍ່ສາມາດພິມໄດ້.

ຕົວອັກສອນຄວບຄຸມ (ລະຫັດ ASCII <= 0x1F) ກໍຖືກພິຈາລະນາເປັນຕົວອັກສອນທີ່ບໍ່ສາມາດພິມໄດ້ເຊັ່ນກັນ.

ເຄື່ອງໝາຍຄຳເວົ້າພາຍໃນສະຕຣິງ:

ເພື່ອເພີ່ມເຄື່ອງໝາຍຄຳເວົ້າໃນສະຕຣິງ ໃຫ້ໃຊ້ \' (ເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ) ຫຼື \" (ເຄື່ອງໝາຍຄຳເວົ້າຄູ່). ຕົວຢ່າງ:

ການເອີ້ນໃຊ້ບໍລິການ

ກ່ອນທີ່ຈະໃຊ້ບໍລິການ ScriptForge.String, ໄລບຣາຣີ ScriptForge ຈະຕ້ອງຖືກໂຫຼດໂດຍໃຊ້:

ໃນ Basic

      GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
  

ການໂຫຼດໄລບຣາຣີຈະສ້າງອັອບເຈັກ SF_String ທີ່ສາມາດໃຊ້ເພື່ອເອີ້ນເມທອດຕ່າງໆໃນບໍລິການ String.

ສ່ວນຂອງໂຄ້ດຕໍ່ໄປນີ້ສະແດງສາມວິທີໃນການເອີ້ນເມທອດຈາກບໍລິການ String (ໃຊ້ເມທອດ Capitalize ເປັນຕົວຢ່າງ):


    Dim s as String : s = "abc def"
    s = SF_String.Capitalize(s) ' Abc Def
  

    Dim s as String : s = "abc def"
    Dim svc : svc = SF_String
    s = svc.Capitalize(s) ' Abc Def
  

    Dim s as String : s = "abc def"
    Dim svc : svc = CreateScriptService("String")
    s = svc.Capitalize(s) ' Abc Def
  
ໃນ Python

ສ່ວນຂອງໂຄ້ດລຸ່ມນີ້ສະແດງວິທີການເອີ້ນເມທອດຈາກບໍລິການ String ໃນສະຄຣິບ Python. ໃຊ້ເມທອດ IsIPv4 ເປັນຕົວຢ່າງ.


    from scriptforge import CreateScriptService
    svc = CreateScriptService("String")
    ip_address = '192.168.0.14'
    svc.IsIPv4(ip_address) # True
  

ຄຸນສົມບັດ

ອັອບເຈັກ SF_String ໃຫ້ຄຸນສົມບັດຕໍ່ໄປນີ້ສຳລັບສະຄຣິບ Basic:

ຊື່

ອ່ານຢ່າງດຽວ

ຄຳອະທິບາຍ

sfCR

ແມ່ນ

Carriage return: Chr(13)

sfCRLF

ແມ່ນ

Carriage return + Linefeed: Chr(13) & Chr(10)

sfLF

ແມ່ນ

Linefeed: Chr(10)

sfNEWLINE

ແມ່ນ

Carriage return + Linefeed, ເຊິ່ງອາດເປັນ
1) Chr(13) & Chr(10) ຫຼື
2) Linefeed: Chr(10)
ຂຶ້ນຢູ່ກັບລະບົບປະຕິບັດການ.

sfTAB

ແມ່ນ

Horizontal tabulation (ການແທັບລວງນອນ): Chr(9)


ໄອຄອນ ເຄັດລັບ

ທ່ານສາມາດໃຊ້ຄຸນສົມບັດຂ້າງເທິງເພື່ອລະບຸ ຫຼື ແຊກຕົວອັກສອນທີ່ກ່ຽວຂ້ອງພາຍໃນສະຕຣິງ. ຕົວຢ່າງ: ສາມາດໃຊ້ SF_String.sfLF ແທນ Linefeed ໄດ້.


ລາຍການເມທອດໃນບໍລິການ String

Capitalize
Count
EndsWith
Escape
ExpandTabs
FilterNotPrintable
FindRegex
HashStr
HtmlEncode
IsADate
IsAlpha
IsAlphaNum
IsAscii
IsDigit
IsEmail

IsFileName
IsHexDigit
IsIBAN
IsIPv4
IsLike
IsLower
IsPrintable
IsRegex
IsSheetName
IsTitle
IsUpper
IsUrl
IsWhitespace
JustifyCenter
JustifyLeft

JustifyRight
Quote
ReplaceChar
ReplaceRegex
ReplaceStr
Represent
Reverse
SplitLines
SplitNotQuoted
StartsWith
TrimExt
Unescape
Unquote
Wrap


ໄອຄອນ ບັນທຶກ

ອາຄິວເມນທຳອິດຂອງເມທອດສ່ວນໃຫຍ່ແມ່ນສະຕຣິງທີ່ຈະພິຈາລະນາ. ມັນຈະຖືກສົ່ງຜ່ານດ້ວຍການອ້າງອີງ (passed by reference) ແລະ ບໍ່ມີການປ່ຽນແປງຄ່າເດີມ. ເມທອດຕ່າງໆ ເຊັ່ນ Capitalize, Escape, ແລະ ອື່ນໆ ຈະສົ່ງຄືນສະຕຣິງໃໝ່ຫຼັງຈາກການປະມວນຜົນ.


ໄອຄອນ ຄຳເຕືອນ

ເນື່ອງຈາກ Python ມີການຮອງຮັບສະຕຣິງໃນຕົວທີ່ຄົບຖ້ວນຢູ່ແລ້ວ, ເມທອດສ່ວນໃຫຍ່ໃນບໍລິການ String ຈຶ່ງມີໃຫ້ໃຊ້ສະເພາະໃນສະຄຣິບ Basic ເທົ່ານັ້ນ. ເມທອດທີ່ມີໃຫ້ໃຊ້ທັງໃນ Basic ແລະ Python ແມ່ນ: HashStr, IsADate, IsEmail, IsFileName, IsIBAN, IsIPv4, IsLike, IsSheetName, IsUrl, SplitNotQuoted ແລະ Wrap.


Capitalize

ປ່ຽນຕົວອັກສອນທຳອິດຂອງແຕ່ລະຄຳໃນສະຕຣິງໃຫ້ເປັນຕົວພິມໃຫຍ່.

ໄວຍາກອນ:

svc.Capitalize(inputstr: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະປ່ຽນເປັນຕົວພິມໃຫຍ່.

ຕົວຢ່າງ:


    Dim sName as String : sName = "john smith"
    Dim sCapitalizedName as String
    sCapitalizedName = SF_String.Capitalize(sName)
    MsgBox sCapitalizedName 'John Smith
  

Count

ນັບຈຳນວນຄັ້ງທີ່ພົບຂໍ້ຄວາມຍ່ອຍ ຫຼື regular expression ພາຍໃນສະຕຣິງ.

ໄວຍາກອນ:

svc.Count(inputstr: str, substring: str, [isregex: bool], [casesensitive: bool]): int

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງຂາເຂົ້າທີ່ຈະກວດສອບ

substring: ຂໍ້ຄວາມຍ່ອຍ ຫຼື regular expression ທີ່ຈະໃຊ້ໃນການຄົ້ນຫາ

isregex: ໃຫ້ໃຊ້ True ຖ້າຂໍ້ຄວາມຍ່ອຍເປັນ regular expression (ຄ່າເລີ່ມຕົ້ນ = False)

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


    'ນັບຈຳນວນຄັ້ງທີ່ພົບຂໍ້ຄວາມຍ່ອຍ "or" ພາຍໃນສະຕຣິງ (ສົ່ງຄືນ 2)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "or", CaseSensitive := False)
    'ນັບຈຳນວນຄຳທີ່ມີແຕ່ຕົວພິມນ້ອຍ (ສົ່ງຄືນ 7)
    MsgBox SF_String.Count("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", IsRegex := True, CaseSensitive := True)
  
ໄອຄອນ ເຄັດລັບ

ເພື່ອຮຽນຮູ້ເພີ່ມເຕີມກ່ຽວກັບ regular expressions, ໃຫ້ເບິ່ງເອກະສານຂອງ Python ໃນ Regular Expression Operations.


EndsWith

ສົ່ງຄືນ True ຖ້າສະຕຣິງລົງທ້າຍດ້ວຍຂໍ້ຄວາມຍ່ອຍທີ່ລະບຸ.

ຟັງຊັນຈະສົ່ງຄືນ False ເມື່ອສະຕຣິງ ຫຼື ຂໍ້ຄວາມຍ່ອຍມີຄວາມຍາວເທົ່າກັບ 0 ຫຼື ເມື່ອຂໍ້ຄວາມຍ່ອຍຍາວກວ່າສະຕຣິງ.

ໄວຍາກອນ:

svc.EndsWith(inputstr: str, substring: str, [casesensitive: bool]): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ.

substring: ຂໍ້ຄວາມຍ່ອຍທີ່ຈະຄົ້ນຫາໃນຕອນທ້າຍຂອງ inputstr.

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


    'ສົ່ງຄືນ True ເພາະເມທອດຖືກເອີ້ນໃຊ້ດ້ວຍຄ່າເລີ່ມຕົ້ນ CaseSensitive = False
    MsgBox SF_String.EndsWith("abcdefg", "EFG")
    'ສົ່ງຄືນ False ເນື່ອງຈາກພະລາມິເຕີ CaseSensitive
    MsgBox SF_String.EndsWith("abcdefg", "EFG", CaseSensitive := True)
  

Escape

ແປງການຂຶ້ນແຖວໃໝ່ ແລະ ການແທັບທີ່ມີໃນສະຕຣິງໃຫ້ເປັນລຳດັບການຫຼົບຫຼີກທີ່ທຽບເທົ່າ (\\, \n, \r, \t).

ໄວຍາກອນ:

svc.Escape(inputstr: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະແປງ.

ຕົວຢ່າງ:


    'ສົ່ງຄືນສະຕຣິງ "abc\n\tdef\\n"
    MsgBox SF_String.Escape("abc" & Chr(10) & Chr(9) & "def\n")
  

ExpandTabs

ແທນທີ່ຕົວອັກສອນ Tab Chr(9) ດ້ວຍຕົວອັກສອນຊ່ອງວ່າງ ເພື່ອຈຳລອງພຶດຕິກຳຂອງ tab stops.

ຖ້າພົບການຂຶ້ນແຖວໃໝ່, ແຖວໃໝ່ຈະເລີ່ມຕົ້ນ ແລະ ຕົວນັບຕົວອັກສອນຈະຖືກຕັ້ງຄ່າໃໝ່.

ໄວຍາກອນ:

svc.ExpandTabs(inputstr: str, [tabsize: int]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຂະຫຍາຍ

tabsize: ພະລາມິເຕີນີ້ໃຊ້ເພື່ອຊອກຫາ Tab stops ໂດຍໃຊ້ສູດ: TabSize + 1, 2 * TabSize + 1, ... N * TabSize + 1 (ຄ່າເລີ່ມຕົ້ນ = 8)

ຕົວຢ່າງ:


    Dim myText as String
    myText = "100" & SF_String.sfTAB & "200" & SF_String.sfTAB & "300" & SF_String.sfNEWLINE & _
             "X"  & SF_String.sfTAB & "Y" & SF_String.sfTAB & "Z"
    MsgBox SF_String.ExpandTabs(myText)
    '100     200     300
    'X       Y       Z
  

FilterNotPrintable

ແທນທີ່ຕົວອັກສອນທັງໝົດທີ່ບໍ່ສາມາດພິມໄດ້ໃນສະຕຣິງດ້ວຍຕົວອັກສອນທີ່ກຳນົດໃຫ້.

ໄວຍາກອນ:

svc.FilterNotPrintable(inputstr: str, [replacedby: str]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຄົ້ນຫາ

replacedby: ຕົວອັກສອນສູນ, ຫນຶ່ງ ຫຼື ຫຼາຍຕົວທີ່ຈະມາແທນທີ່ຕົວອັກສອນທີ່ບໍ່ສາມາດພິມໄດ້ທັງໝົດໃນ inputstr (ຄ່າເລີ່ມຕົ້ນ = "")

ຕົວຢ່າງ:


    Dim LF : LF = Chr(10)
    Dim myText as String
    myText = "àén ΣlPµ" & LF & " Русский" & "\n"
    MsgBox SF_String.FilterNotPrintable(myText)
    ' "àén ΣlPµ Русский\n"
  

FindRegex

ຄົ້ນຫາຂໍ້ຄວາມຍ່ອຍໃນສະຕຣິງທີ່ກົງກັບ regular expression ທີ່ກຳນົດໃຫ້.

ໄວຍາກອນ:

svc.FindRegex(inputstr: str, regex: str, [start: int], [casesensitive: bool], [forward: bool]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຄົ້ນຫາ

regex: regular expression ທີ່ຈະໃຊ້

start: ຕຳແໜ່ງໃນສະຕຣິງທີ່ຈະເລີ່ມການຄົ້ນຫາ. ພະລາມິເຕີນີ້ຖືກສົ່ງຜ່ານດ້ວຍການອ້າງອີງ, ດັ່ງນັ້ນຫຼັງຈາກປະມວນຜົນແລ້ວ ຄ່າຂອງ start ຈະຊີ້ໄປຫາຕົວອັກສອນທຳອິດຂອງຂໍ້ຄວາມຍ່ອຍທີ່ພົບ. ຖ້າບໍ່ພົບຂໍ້ຄວາມຍ່ອຍທີ່ກົງກັນ, start ຈະຖືກຕັ້ງເປັນ 0.

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

forward: ກຳນົດທິດທາງຂອງການຄົ້ນຫາ. ຖ້າເປັນ True, ການຄົ້ນຫາຈະໄປທາງໜ້າ. ຖ້າເປັນ False, ການຄົ້ນຫາຈະຖອຍຫຼັງ (ຄ່າເລີ່ມຕົ້ນ = True)

ໃນການເຮັດວຽກຮອບທຳອິດ, ຖ້າ forward = True, ຄ່າ start ຄວນເທົ່າກັບ 1, ໃນຂະນະທີ່ຖ້າ forward = False ຄ່າ start ຄວນເທົ່າກັບ Len(inputstr)

ຕົວຢ່າງ:


    Dim lStart As Long : lStart = 1
    Dim result as String
    result = SF_String.FindRegex("abCcdefghHij", "C.*H", lStart, CaseSensitive := True)
    MsgBox lStart & ": " & result
    '3: CcdefghH
  
ໄອຄອນ ເຄັດລັບ

ໃນຕົວຢ່າງຂ້າງເທິງ, ຄ່າໃໝ່ຂອງ lStart ສາມາດໃຊ້ເພື່ອຄົ້ນຫາໃນສະຕຣິງເດີມຕໍ່ໄປໄດ້ ໂດຍການຕັ້ງພະລາມິເຕີ Start ເປັນ lStart + Len(result) ໃນຮອບຖັດໄປ.


HashStr

ຟັງຊັນ Hash ຖືກນຳໃຊ້ໃນອັນກໍຣິທຶມການເຂົ້າລະຫັດລັບ, ລາຍເຊັນດີຈີຕອນ, ລະຫັດຢືນຢັນຂໍ້ຄວາມ, ການກວດສອບການປ່ຽນແປງຂໍ້ມູນ, ລາຍນິ້ວມືດີຈີຕອນ, ເຊັກຊຳ (checksums), ຕາຕະລາງ hash, ການເກັບຮັກສາລະຫັດຜ່ານ ແລະ ອື່ນໆອີກຫຼາຍຢ່າງ.

ເມທອດ HashStr ສົ່ງຄືນຜົນລັບຂອງຟັງຊັນ hash ທີ່ໃຊ້ກັບສະຕຣິງທີ່ໃຫ້ມາໂດຍໃຊ້ອັນກໍຣິທຶມທີ່ລະບຸ, ໃນຮູບແບບສະຕຣິງຂອງເລກຖານສິບຫົກຕົວພິມນ້ອຍ.

ອັນກໍຣິທຶມ hash ທີ່ຮອງຮັບແມ່ນ: MD5, SHA1, SHA224, SHA256, SHA384 ແລະ SHA512.

ໄວຍາກອນ:

svc.HashStr(inputstr: str, algorithm: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະເຮັດ hash. ສົມມຸດວ່າມັນຖືກເຂົ້າລະຫັດເປັນ UTF-8. ອັນກໍຣິທຶມ hashing ຈະພິຈາລະນາສະຕຣິງເປັນສະຕຣີມຂອງໄບຕ໌ (stream of bytes).

algorithm: ໜຶ່ງໃນອັນກໍຣິທຶມທີ່ຮອງຮັບຕາມລາຍການຂ້າງເທິງ, ໂດຍສົ່ງເປັນສະຕຣິງ.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.HashStr("œ∑¡™£¢∞§¶•ªº–≠œ∑´®†¥¨ˆøπ‘åß∂ƒ©˙∆˚¬", "MD5")
    ' c740ccc2e201df4b2e2b4aa086f35d8a
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    a_string = "œ∑¡™£¢∞§¶•ªº–≠œ∑´®†¥¨ˆøπ‘åß∂ƒ©˙∆˚¬"
    hash_value = svc.HashStr(a_string, "MD5")
    bas.MsgBox(hash_value)
    # c740ccc2e201df4b2e2b4aa086f35d8a
  

HtmlEncode

ເຂົ້າລະຫັດສະຕຣິງຂາເຂົ້າໃຫ້ເປັນລະຫັດຕົວອັກສອນ HTML, ໂດຍແທັນທີ່ຕົວອັກສອນພິເສດດ້ວຍຕົວອັກສອນທີ່ເລີ່ມດ້ວຍ & ທີ່ກ່ຽວຂ້ອງ.

ຕົວຢ່າງ: ຕົວອັກສອນ é ຈະຖືກແທນທີ່ດ້ວຍ &eacute; ຫຼື ລະຫັດຕົວເລກ HTML ທີ່ທຽບເທົ່າ.

ໄວຍາກອນ:

svc.HtmlEncode(inputstr: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະເຂົ້າລະຫັດ.

ຕົວຢ່າງ:


    MsgBox SF_String.HtmlEncode("<a href=""https://a.b.com"">From α to ω</a>")
    ' "&lt;a href=&quot;https://a.b.com&quot;&gt;From &#945; to &#969;&lt;/a&gt;"
  

IsADate

ສົ່ງຄືນ True ຖ້າສະຕຣິງຂາເຂົ້າເປັນວັນທີທີ່ຖືກຕ້ອງຕາມຮູບແບບວັນທີທີ່ລະບຸ.

ໄວຍາກອນ:

svc.IsADate(inputstr: str, [dateformat: str]): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False

dateformat: ຮູບແບບວັນທີ, ເປັນສະຕຣິງ. ສາມາດເປັນ "YYYY-MM-DD" (ຄ່າເລີ່ມຕົ້ນ), "DD-MM-YYYY" ຫຼື "MM-DD-YYYY"

ເຄື່ອງໝາຍຂີດ (-) ອາດຈະຖືກແທນທີ່ດ້ວຍຈຸດ (.), ເຄື່ອງໝາຍທັບ (/) ຫຼື ຊ່ອງວ່າງ.

ຖ້າຮູບແບບບໍ່ຖືກຕ້ອງ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsADate("2020-12-31", "YYYY-MM-DD") ' True
  
ໄອຄອນ ບັນທຶກ

ເມທອດນີ້ຈະກວດສອບພຽງແຕ່ຮູບແບບຂອງສະຕຣິງຂາເຂົ້າ ໂດຍບໍ່ໄດ້ກວດສອບລາຍລະອຽດສະເພາະຂອງປະຕິທິນ. ດັ່ງນັ້ນ ມັນຈຶ່ງບໍ່ໄດ້ກວດສອບປີອະທິກະສຸຣະທິນ ຫຼື ເດືອນທີ່ມີ 30 ຫຼື 31 ວັນ. ສຳລັບການກວດສອບນັ້ນ, ໃຫ້ເບິ່ງທີ່ IsDate built-in function.


ຕົວຢ່າງລຸ່ມນີ້ສະແດງໃຫ້ເຫັນຄວາມແຕກຕ່າງລະຫວ່າງເມທອດ IsADate (ScriptForge) ແລະ ຟັງຊັນ IsDate (built-in).


    Dim myDate as String : myDate = "2020-02-30"
    MsgBox SF_String.IsADate(myDate, "YYYY-MM-DD") 'True
    MsgBox IsDate(myDate) ' False
  
ໃນ Python

    svc = CreateScriptService("String")
    s_date = "2020-12-31"
    result = svc.IsADate(s_date) # True
  

IsAlpha

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຕົວອັກສອນພາສາ.

ຕົວອັກສອນພາສາແມ່ນຕົວອັກສອນທີ່ກຳນົດໃນ Unicode Character Database ເປັນ Letter.

ໄວຍາກອນ:

svc.IsAlpha(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsAlpha("àénΣlPµ") ' True
    MsgBox SF_String.IsAlpha("myVar3") ' False
  

IsAlphaNum

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຕົວອັກສອນພາສາ, ຕົວເລກ ຫຼື "_" (underscore). ຕົວອັກສອນທຳອິດຈະຕ້ອງບໍ່ແມ່ນຕົວເລກ.

ໄວຍາກອນ:

svc.IsAlphaNum(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsAlphaNum("_ABC_123456_abcàénΣlPµ") ' True
    MsgBox SF_String.IsAlphaNum("123ABC") ' False
  

IsAscii

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຕົວອັກສອນ ASCII.

ໄວຍາກອນ:

svc.IsAscii(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsAscii("a%?,25") ' True
    MsgBox SF_String.IsAscii("abcàénΣlPµ") ' False
  

IsDigit

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຕົວເລກ.

ໄວຍາກອນ:

svc.IsDigit(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsDigit("123456") ' True
    MsgBox SF_String.IsDigit("_12a") ' False
  

IsEmail

ສົ່ງຄືນ True ຖ້າສະຕຣິງເປັນທີ່ຢູ່ອີເມລທີ່ຖືກຕ້ອງ.

ໄວຍາກອນ:

svc.IsEmail(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsEmail("first.last@something.org") ' True
    MsgBox SF_String.IsEmail("first.last@something.com.br") ' True
    MsgBox SF_String.IsEmail("first.last@something.123") ' False
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsEmail("first.last@something.org")) # True
    bas.MsgBox(svc.IsEmail("first.last@something.com.br")) # True
    bas.MsgBox(svc.IsEmail("first.last@something.123")) # False
  

IsFileName

ສົ່ງຄືນ True ຖ້າສະຕຣິງເປັນຊື່ໄຟລ໌ທີ່ຖືກຕ້ອງໃນລະບົບປະຕິບັດການທີ່ລະບຸ.

ໄວຍາກອນ:

svc.IsFileName(inputstr: str, [osname: str]): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

osname: ຊື່ລະບົບປະຕິບັດການ, ເປັນສະຕຣິງ. ສາມາດເປັນ "WINDOWS", "LINUX", "MACOSX" ຫຼື "SOLARIS".

ຄ່າເລີ່ມຕົ້ນແມ່ນລະບົບປະຕິບັດການປັດຈຸບັນທີ່ສະຄຣິບກຳລັງເຮັດວຽກຢູ່.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsFileName("/home/user/Documents/a file name.odt", "LINUX") ' True
    MsgBox SF_String.IsFileName("C:\home\a file name.odt", "LINUX") ' False
    MsgBox SF_String.IsFileName("C:\home\a file name.odt", "WINDOWS") ' True
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsFileName("/home/user/Documents/a file name.odt", "LINUX")) # True
    bas.MsgBox(svc.IsFileName(r"C:\home\a file name.odt", "LINUX")) # False
    bas.MsgBox(svc.IsFileName(r"C:\home\a file name.odt", "WINDOWS")) # True
  

IsHexDigit

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນເລກຖານສິບຫົກ.

ໄວຍາກອນ:

svc.IsHexDigit(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວເລກຖານສິບຫົກອາດຈະຂຶ້ນຕົ້ນດ້ວຍ "0x" ຫຼື "&H".

ຕົວຢ່າງ:


    MsgBox SF_String.IsHexDigit("&H00FF") ' True
    MsgBox SF_String.IsHexDigit("08AAFF10") ' True
    MsgBox SF_String.IsHexDigit("0x18LA22") ' False
  

IsIBAN

ສົ່ງຄືນ True ຖ້າສະຕຣິງເປັນເລກບັນຊີທະນາຄານສາກົນ (IBAN) ທີ່ຖືກຕ້ອງ. ການປຽບທຽບຈະບໍ່ແຍກຕົວພິມໃຫຍ່-ນ້ອຍ.

ໄວຍາກອນ:

svc.IsIBAN(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ປະເພດຄ່າທີ່ສົ່ງກັບ:

ສົ່ງຄືນ True ຖ້າສະຕຣິງມີໝາຍເລກ IBAN ທີ່ຖືກຕ້ອງ.

ຕົວຢ່າງ:


    ' Basic
    MsgBox SF_String.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") ' True
  

    # Python
    result = svc.IsIBAN("BR15 0000 0000 0000 1093 2840 814 P2") # True
  

IsIPv4

ສົ່ງຄືນ True ຖ້າສະຕຣິງເປັນທີ່ຢູ່ IP(v4) ທີ່ຖືກຕ້ອງ.

ໄວຍາກອນ:

svc.IsIPv4(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsIPv4("192.168.1.50") ' True
    MsgBox SF_String.IsIPv4("192.168.50") ' False
    MsgBox SF_String.IsIPv4("255.255.255.256") ' False
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsIPv4("192.168.1.50")) # True
    bas.MsgBox(svc.IsIPv4("192.168.50")) # False
    bas.MsgBox(svc.IsIPv4("255.255.255.256")) # False
  

IsLike

ສົ່ງຄືນ True ຖ້າສະຕຣິງຂາເຂົ້າທັງໝົດກົງກັບຮູບແບບທີ່ໃຫ້ມາເຊິ່ງມີຕົວແທນ (wildcards).

ໄວຍາກອນ:

svc.IsLike(inputstr: str, pattern: str, [casesensitive: bool]): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

pattern: ຮູບແບບໃນລັກສະນະສະຕຣິງ. ຕົວແທນ (wildcards) ມີດັ່ງນີ້:

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsLike("aAbB", "?A*") ' True
    MsgBox SF_String.IsLike("C:\a\b\c\f.odb", "?:*.*") ' True
    MsgBox SF_String.IsLike("name:host", "?*@?*") ' False
    MsgBox SF_String.IsLike("@host", "?*@?*") ' False
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsLike("aAbB", "?A*")) # True
    bas.MsgBox(svc.IsLike(r"C:\a\b\c\f.odb", "?:*.*")) # True
    bas.MsgBox(svc.IsLike("name:host", "?*@?*")) # False
    bas.MsgBox(svc.IsLike("@host", "?*@?*")) # False
  

IsLower

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຕົວພິມນ້ອຍ. ຕົວອັກສອນທີ່ບໍ່ແມ່ນພາສາຈະຖືກລະເວັ້ນ.

ໄວຍາກອນ:

svc.IsLower(inputstr: str): bool

ພາຣາມິເຕີ:

InputStr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsLower("abc'(-xy4z") ' True
    MsgBox SF_String.IsLower("1234") ' True
    MsgBox SF_String.IsLower("abcDefg") ' False
  

IsPrintable

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງສາມາດພິມໄດ້.

ໄວຍາກອນ:

svc.IsPrintable(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsPrintable("àén ΣlPµ Русский") ' True
    MsgBox SF_String.IsPrintable("First line." & Chr(10) & "Second Line.") ' False
  

IsRegex

ສົ່ງຄືນ True ຖ້າສະຕຣິງຂາເຂົ້າທັງໝົດກົງກັບ regular expression ທີ່ໃຫ້ມາ.

ໄວຍາກອນ:

svc.IsRegex(inputstr: str, regex: str, [casesensitive: bool]): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

regex: regular expression. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


        MsgBox SF_String.IsRegex("aAbB", "[A-Za-z]+") ' True
        MsgBox SF_String.IsRegex("John;100", "[A-Za-z]+;[0-9]+") ' True
        MsgBox SF_String.IsRegex("John;100;150", "[A-Za-z]+;[0-9]+") ' False
      

IsSheetName

ສົ່ງຄືນ True ຖ້າສະຕຣິງຂາເຂົ້າເປັນຊື່ຊີດ Calc ທີ່ຖືກຕ້ອງ.

ໄວຍາກອນ:

svc.IsSheetName(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsSheetName("1àbc + ""déf""") ' True
    MsgBox SF_String.IsSheetName("[MySheet]") ' False
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsSheetName("1àbc + ""déf""")) # True
    bas.MsgBox(svc.IsSheetName("[MySheet]")) # False
  
ໄອຄອນ ບັນທຶກ

ຊື່ຊີດຈະຕ້ອງບໍ່ມີຕົວອັກສອນ [ ] * ? : / \ ຫຼື ຕົວອັກສອນ ' (apostrophe) ເປັນຕົວອັກສອນທຳອິດ ຫຼື ຕົວອັກສອນສຸດທ້າຍ.


IsTitle

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທຳອິດຂອງທຸກໆຄຳເປັນຕົວພິມໃຫຍ່ ແລະ ຕົວອັກສອນອື່ນໆເປັນຕົວພິມນ້ອຍ.

ໄວຍາກອນ:

svc.IsTitle(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsTitle("This Is The Title Of My Book") ' True
    MsgBox SF_String.IsTitle("This is the Title of my Book") ' False
    MsgBox SF_String.IsTitle("Result Number 100") ' True
  

IsUpper

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຕົວພິມໃຫຍ່. ຕົວອັກສອນທີ່ບໍ່ແມ່ນພາສາຈະຖືກລະເວັ້ນ.

ໄວຍາກອນ:

svc.IsUpper(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsUpper("ABC'(-XYZ") ' True
    MsgBox SF_String.IsUpper("A Title") ' False
  

IsUrl

ສົ່ງຄືນ True ຖ້າສະຕຣິງເປັນທີ່ຢູ່ URL ແບບເຕັມ (absolute URL) ທີ່ຖືກຕ້ອງ. ຮອງຮັບສະເພາະໂປຣໂຕຄໍ http, https ແລະ ftp ເທົ່ານັ້ນ.

ໄວຍາກອນ:

svc.IsUrl(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:

ໃນ Basic

    MsgBox SF_String.IsUrl("http://foo.bar/?q=Test%20URL-encoded%20stuff") ' True
    MsgBox SF_String.IsUrl("www.somesite.org") ' False
  
ໃນ Python

    svc = CreateScriptService("String")
    bas = CreateScriptService("Basic")
    bas.MsgBox(svc.IsUrl("http://foo.bar/?q=Test%20URL-encoded%20stuff")) # True
    bas.MsgBox(svc.IsUrl("www.somesite.org")) # False
  

IsWhitespace

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທັງໝົດໃນສະຕຣິງເປັນຊ່ອງວ່າງ.

ໄວຍາກອນ:

svc.IsWhitespace(inputstr: str): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນ False.

ຕົວຢ່າງ:


    MsgBox SF_String.IsWhitespace("    ") ' True
    MsgBox SF_String.IsWhitespace(" " & Chr(9) & Chr(10)) ' True
    MsgBox SF_String.IsWhitespace("") ' False
  

JustifyCenter

ສົ່ງຄືນສະຕຣິງຂາເຂົ້າທີ່ຈັດໃຫ້ຢູ່ເຄິ່ງກາງ.

ຊ່ອງວ່າງທາງໜ້າ ແລະ ທາງຫຼັງຈະຖືກຕັດອອກ ແລະ ຕົວອັກສອນທີ່ເຫຼືອຈະຖືກຕື່ມໃສ່ທາງຊ້າຍ ແລະ ຂວາ ໃຫ້ຄົບຕາມຄວາມຍາວ (length) ທີ່ລະບຸ ດ້ວຍຕົວອັກສອນເຕີມ (padding).

ໄວຍາກອນ:

svc.JustifyCenter(inputstr: str, [length: int], [padding: str]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຈັດໃຫ້ຢູ່ເຄິ່ງກາງ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນສະຕຣິງວ່າງ.

length: ຄວາມຍາວຂອງສະຕຣິງຜົນລັບ (ຄ່າເລີ່ມຕົ້ນ = ຄວາມຍາວຂອງສະຕຣິງຂາເຂົ້າ).

ຖ້າຄວາມຍາວທີ່ລະບຸສັ້ນກວ່າສະຕຣິງຂາເຂົ້າທີ່ຈັດເຄິ່ງກາງແລ້ວ, ສະຕຣິງທີ່ສົ່ງຄືນມາຈະຖືກຕັດອອກ.

padding: ຕົວອັກສອນດ່ຽວທີ່ຈະໃຊ້ເປັນຕົວເຕີມ (ຄ່າເລີ່ມຕົ້ນ = ຊ່ອງວ່າງ ASCII " ").

ຕົວຢ່າງ:


    MsgBox SF_String.JustifyCenter("Title", Length := 11) ' "   Title   "
    MsgBox SF_String.JustifyCenter("    ABCDEF", Padding := "_") ' "__ABCDEF__"
    MsgBox SF_String.JustifyCenter("A Long Title", Length := 5) ' "ong T"
  

JustifyLeft

ສົ່ງຄືນສະຕຣິງຂາເຂົ້າທີ່ຈັດໃຫ້ຢູ່ທາງຊ້າຍ.

ຊ່ອງວ່າງທາງໜ້າຈະຖືກຕັດອອກ ແລະ ຕົວອັກສອນທີ່ເຫຼືອຈະຖືກຕື່ມໃສ່ທາງຂວາ ໃຫ້ຄົບຕາມຄວາມຍາວ (length) ທີ່ລະບຸ ດ້ວຍຕົວອັກສອນເຕີມ (padding).

ໄວຍາກອນ:

svc.JustifyLeft(inputstr: str, [length: int], [padding: str]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຈັດໃຫ້ຢູ່ທາງຊ້າຍ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນສະຕຣິງວ່າງ.

length: ຄວາມຍາວຂອງສະຕຣິງຜົນລັບ (ຄ່າເລີ່ມຕົ້ນ = ຄວາມຍາວຂອງສະຕຣິງຂາເຂົ້າ).

ຖ້າຄວາມຍາວທີ່ລະບຸສັ້ນກວ່າສະຕຣິງຂາເຂົ້າທີ່ຈັດຊ້າຍແລ້ວ, ສະຕຣິງທີ່ສົ່ງຄືນມາຈະຖືກຕັດອອກ.

padding: ຕົວອັກສອນດ່ຽວທີ່ຈະໃຊ້ເປັນຕົວເຕີມ (ຄ່າເລີ່ມຕົ້ນ = ຊ່ອງວ່າງ ASCII " ").

ຕົວຢ່າງ:


    MsgBox SF_String.JustifyLeft("Title", Length := 10) ' "Title     "
    MsgBox SF_String.JustifyLeft("    ABCDEF", Padding := "_") ' "ABCDEF____"
    MsgBox SF_String.JustifyLeft("A Long Title", Length := 5) ' "A Lon"
  

JustifyRight

ສົ່ງຄືນສະຕຣິງຂາເຂົ້າທີ່ຈັດໃຫ້ຢູ່ທາງຂວາ.

ຊ່ອງວ່າງທາງໜ້າຈະຖືກຕັດອອກ ແລະ ຕົວອັກສອນທີ່ເຫຼືອຈະຖືກຕື່ມໃສ່ທາງຊ້າຍ ໃຫ້ຄົບຕາມຄວາມຍາວ (length) ທີ່ລະບຸ ດ້ວຍຕົວອັກສອນເຕີມ (padding).

ໄວຍາກອນ:

svc.JustifyRight(inputstr: str, [length: int], [padding: str]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຈັດໃຫ້ຢູ່ທາງຂວາ. ຖ້າວ່າງເປົ່າ, ເມທອດຈະສົ່ງຄືນສະຕຣິງວ່າງ.

length: ຄວາມຍາວຂອງສະຕຣິງຜົນລັບ (ຄ່າເລີ່ມຕົ້ນ = ຄວາມຍາວຂອງສະຕຣິງຂາເຂົ້າ).

ຖ້າຄວາມຍາວທີ່ລະບຸສັ້ນກວ່າສະຕຣິງຂາເຂົ້າທີ່ຈັດຂວາແລ້ວ, ສະຕຣິງທີ່ສົ່ງຄືນມາຈະຖືກຕັດອອກ.

padding: ຕົວອັກສອນດ່ຽວທີ່ຈະໃຊ້ເປັນຕົວເຕີມ (ຄ່າເລີ່ມຕົ້ນ = ຊ່ອງວ່າງ ASCII " ").

ຕົວຢ່າງ:


    MsgBox SF_String.JustifyRight("Title", Length := 10) ' "     Title"
    MsgBox SF_String.JustifyRight("  ABCDEF  ", Padding := "_") ' "____ABCDEF"
    MsgBox SF_String.JustifyRight("A Long Title", Length := 5) ' "Title"
  

Quote

ສົ່ງຄືນສະຕຣິງຂາເຂົ້າທີ່ຢູ່ພາຍໃນເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ ຫຼື ເຄື່ອງໝາຍຄຳເວົ້າຄູ່. ເຄື່ອງໝາຍຄຳເວົ້າທີ່ມີຢູ່ແລ້ວຈະບໍ່ມີການປ່ຽນແປງ, ລວມທັງເຄື່ອງໝາຍຄຳເວົ້າທາງໜ້າ ແລະ/ຫຼື ທາງຫຼັງ.

ໄວຍາກອນ:

svc.Quote(inputstr: str, [quotechar: str]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະໃສ່ເຄື່ອງໝາຍຄຳເວົ້າ.

quotechar: ສາມາດເປັນເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ (') ຫຼື ເຄື່ອງໝາຍຄຳເວົ້າຄູ່ (") (ຄ່າເລີ່ມຕົ້ນ).

ຕົວຢ່າງ:


    MsgBox SF_String.Quote("Text Value")
    ' "Text Value"
    MsgBox SF_String.Quote("Book Title: ""The Arabian Nights""", "'")
    ' 'Book Title: "The Arabian Nights"'
  
ໄອຄອນ ເຄັດລັບ

ເມທອດນີ້ມີປະໂຫຍດໃນການກຽມຟິວ (field) ຂອງສະຕຣິງເພື່ອເກັບໄວ້ໃນໄຟລ໌ຄືກັບ csv, ເຊິ່ງຕ້ອງການໃຫ້ຄ່າຂໍ້ຄວາມຢູ່ພາຍໃນເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ ຫຼື ຄູ່.


ReplaceChar

ແທນທີ່ຕົວອັກສອນທັງໝົດທີ່ລະບຸໃນພະລາມິເຕີ Before ດ້ວຍຕົວອັກສອນທີ່ກົງກັນທີ່ລະບຸໃນ After.

ຖ້າຄວາມຍາວຂອງ Before ຫຼາຍກວ່າຄວາມຍາວຂອງ After, ຕົວອັກສອນທີ່ເຫຼືອໃນ Before ຈະຖືກແທນທີ່ດ້ວຍຕົວອັກສອນສຸດທ້າຍໃນ After.

ໄວຍາກອນ:

svc.ReplaceChar(inputstr: str, before: str, after: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງຂາເຂົ້າທີ່ຈະເຮັດການແທນທີ່.

before: ສະຕຣິງທີ່ມີຕົວອັກສອນທີ່ຈະຄົ້ນຫາໃນສະຕຣິງຂາເຂົ້າເພື່ອເຮັດການແທນທີ່.

after: ສະຕຣິງທີ່ມີຕົວອັກສອນໃໝ່ທີ່ຈະມາແທນທີ່ຕົວອັກສອນທີ່ກຳນົດໃນ before.

ຕົວຢ່າງ:


    ' ແທນທີ່ຕົວອັກສອນທີ່ມີເຄື່ອງໝາຍກຳກັບສຽງ (accented characters)
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", "àâãçèéêëîïôöûüýÿ", "aaaceeeeiioouuyy")
    ' "Protegez votre vie privee"
    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", "àâãçèéêëîïôöûüýÿ", "")
    ' "Protgez votre vie prive"
    MsgBox SF_String.ReplaceChar("àâãçèéêëîïôöûüýÿ", "àâãçèéêëîïôöûüýÿ", "aaaceeeeiioouuyy")
    ' "aaaceeeeiioouuyy"
  

ບໍລິການ SF_String ໃຫ້ຄ່າຄົງທີ່ສາທາລະນະທີ່ມີປະໂຫຍດສຳລັບຊຸດຕົວອັກສອນ Latin, ດັ່ງທີ່ສະແດງໃນຕົວຢ່າງລຸ່ມນີ້:


    MsgBox SF_String.ReplaceChar("Protégez votre vie privée", SF_String.CHARSWITHACCENT, SF_String.CHARSWITHOUTACCENT)
    ' "Protegez votre vie privee"
  

ReplaceRegex

ແທນທີ່ທຸກໆຕຳແໜ່ງທີ່ກົງກັບ regular expression ທີ່ໃຫ້ມາດ້ວຍສະຕຣິງໃໝ່.

ໄວຍາກອນ:

svc.ReplaceRegex(inputstr: str, regex: str, newstr: str, [casesensitive: bool]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງຂາເຂົ້າທີ່ຈະເຮັດການແທນທີ່.

regex: regular expression ທີ່ຈະໃຊ້.

newstr: ສະຕຣິງທີ່ຈະນຳມາແທນທີ່.

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "[a-z]", "x", CaseSensitive := True)
    ' "Lxxxx xxxxx xxxxx xxx xxxx, xxxxxxxxxxx xxxxxxxxxx xxxx." (ຕົວພິມນ້ອຍແຕ່ລະຕົວຖືກແທນທີ່ດ້ວຍ "x")
    MsgBox SF_String.ReplaceRegex("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", "\b[a-z]+\b", "x", CaseSensitive := False)
    ' "x x x x x, x x x." (ແຕ່ລະຄຳຖືກແທນທີ່ດ້ວຍ "x")
  

ReplaceStr

ແທນທີ່ບາງຕຳແໜ່ງ ຫຼື ທັງໝົດຂອງອາເຣຂອງສະຕຣິງໃນສະຕຣິງໃດໜຶ່ງ ດ້ວຍອາເຣຂອງສະຕຣິງໃໝ່.

ໄວຍາກອນ:

svc.ReplaceStr(inputstr: str, oldstr: str, newstr: str, [occurrences: int], [casesensitive: bool]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງຂາເຂົ້າທີ່ຈະເຮັດການແທນທີ່.

oldstr: ສະຕຣິງດ່ຽວ ຫຼື ອາເຣຂອງສະຕຣິງ. ສະຕຣິງທີ່ມີຄວາມຍາວເປັນສູນຈະຖືກລະເວັ້ນ.

newstr: ສະຕຣິງທີ່ຈະມາແທນທີ່ ຫຼື ອາເຣຂອງສະຕຣິງທີ່ຈະມາແທນທີ່.

ຖ້າ oldstr ເປັນອາເຣ, ແຕ່ລະຕຳແໜ່ງທີ່ພົບລາຍການໃດໜຶ່ງໃນ oldstr ຈະຖືກແທນທີ່ດ້ວຍ newstr.

ຖ້າ oldstr ແລະ newstr ເປັນອາເຣ, ການແທນທີ່ຈະເກີດຂຶ້ນເທື່ອລະອັນຈົນເຖິງ UBound(newstr).

ຖ້າ oldstr ມີລາຍການຫຼາຍກວ່າ newstr, ລາຍການທີ່ເຫຼືອໃນ oldstr ຈະຖືກແທນທີ່ດ້ວຍລາຍການສຸດທ້າຍໃນ newstr.

occurrences: ຈຳນວນການແທັນທີ່ສູງສຸດ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ເຊິ່ງໝາຍຄວາມວ່າຈະແທນທີ່ທຸກໆຕຳແໜ່ງທີ່ພົບ.

ເມື່ອ oldstr ເປັນອາເຣ, ພະລາມິເຕີ occurrence ຈະຖືກຄິດໄລ່ແຍກຕ່າງຫາກສຳລັບແຕ່ລະລາຍການໃນອາເຣ.

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


    MsgBox SF_String.ReplaceStr("100 xxx 200 yyy", Array("xxx", "yyy"), Array("(1)", "(2)"), CaseSensitive := False)
    ' "100 (1) 200 (2)"
    MsgBox SF_String.ReplaceStr("abCcdefghHij", Array("c", "h"), Array("Y", "Z"), CaseSensitive := False)
    ' "abYYdefgZZij"
  

Represent

ສົ່ງຄືນສະຕຣິງທີ່ສະແດງຂໍ້ມູນຂອງອາຄິວເມນໃນຮູບແບບທີ່ອ່ານໄດ້, ໂດຍຈະຕັດໃຫ້ສັ້ນລົງຕາມຄວາມຍາວທີ່ກຳນົດ. ສ່ວນຫຼາຍຈະມີປະໂຫຍດສຳລັບການແກ້ໄຂຈຸດບົກພ່ອງ (debugging) ຫຼື ການບັນທຶກຂໍ້ມູນ (logging).

ຖ້າພະລາມິເຕີ anyvalue ເປັນອັອບເຈັກ, ມັນຈະຖືກໃສ່ໃນວົງເລັບຫຼ່ຽມ "[" ແລະ "]".

ໃນສະຕຣິງ, ການແທັບ ແລະ ການຂຶ້ນແຖວໃໝ່ຈະຖືກແທນທີ່ດ້ວຍ \t, \n ຫຼື \r.

ຖ້າຄວາມຍາວສຸດທ້າຍເກີນພະລາມິເຕີ maxlength, ສ່ວນທ້າຍຂອງສະຕຣິງຈະຖືກແທນທີ່ດ້ວຍ " ... (N)" ເຊິ່ງ N ແມ່ນຄວາມຍາວທັງໝົດຂອງສະຕຣິງເດີມກ່ອນທີ່ຈະຖືກຕັດ.

ໄວຍາກອນ:

svc.Represent(anyvalue: any, [maxlength: int]): str

ພາຣາມິເຕີ:

anyvalue: ຄ່າຂາເຂົ້າທີ່ຈະສະແດງ. ມັນສາມາດເປັນຄ່າໃດໆກໍໄດ້ ເຊັ່ນ: ສະຕຣິງ, ອາເຣ, ອັອບເຈັກ Basic, ອັອບເຈັກ UNO, ແລະ ອື່ນໆ.

maxlength: ຄວາມຍາວສູງສຸດຂອງສະຕຣິງຜົນລັບ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ເຊິ່ງໝາຍຄວາມວ່າບໍ່ມີການຈຳກັດຄວາມຍາວຂອງການສະແດງຜົນ.

ຕົວຢ່າງ:


    MsgBox SF_String.Represent("this is a usual string") ' "this is a usual string"
    MsgBox SF_String.Represent("this is a usual string", 15) ' "this i ... (22)"
    MsgBox SF_String.Represent("this is a" & Chr(10) & " 2-lines string") ' "this is a\n 2-lines string"
    MsgBox SF_String.Represent(Empty) ' "[EMPTY]"
    MsgBox SF_String.Represent(Null) ' "[NULL]"
    MsgBox SF_String.Represent(Pi) ' "3.142"
    MsgBox SF_String.Represent(CreateUnoService("com.sun.star.util.PathSettings")) ' "[com.sun.star.comp.framework.PathSettings]"
  

ຮັບຊາບວ່າການສະແດງປະເພດຂໍ້ມູນ ເຊັ່ນ: ອາເຣ ແລະ ອິນສະແຕນຊ໌ຂອງອັອບເຈັກ ScriptForge.Dictionary ຈະລວມເອົາທັງປະເພດຂໍ້ມູນ ແລະ ຄ່າຂອງພວກມັນ:


    ' ຕົວຢ່າງຂອງ Array ພາຍໃນຂອງ Basic
    MsgBox SF_String.Represent(Array(1, 2, "Text" & Chr(9) & "here"))
    ' "[ARRAY] (0:2) (1, 2, Text\there)"
    ' ຕົວຢ່າງຂອງ ScriptForge Array
    Dim aValues as Variant
    aValues = SF_Array.RangeInit(1, 5)
    MsgBox SF_String.Represent(aValues)
    ' "[ARRAY] (0:4) (1.0, 2.0, 3.0, 4.0, 5.0)"
    ' ຕົວຢ່າງຂອງ ScriptForge Dictionary
    Dim myDict As Variant : myDict = CreateScriptService("Dictionary")
    myDict.Add("A", 1) : myDict.Add("B", 2)
    MsgBox SF_String.Represent(myDict)
    ' "[Dictionary] ("A":1, "B":2)"
  

Reverse

ສົ່ງຄືນສະຕຣິງຂາເຂົ້າໃນຮູບແບບປີ້ນລຳດັບ.

ເມທອດນີ້ທຽບເທົ່າກັບ StrReverse Basic function ທີ່ມີມາພ້ອມກັບລະບົບ.

ໄອຄອນ ບັນທຶກ

ເພື່ອໃຊ້ຟັງຊັນ StrReverse, ຈະຕ້ອງມີຄຳສັ່ງ Option VBASupport 1 ໃນໂມດູນ.


ໄວຍາກອນ:

svc.Reverse(inputstr: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະປີ້ນລຳດັບ.

ຕົວຢ່າງ:


    MsgBox SF_String.Reverse("abcdefghij") ' "jihgfedcba"
  

SplitLines

ສົ່ງຄືນອາເຣຂອງສະຕຣິງທີ່ເລີ່ມຈາກສູນ ເຊິ່ງປະກອບດ້ວຍແຕ່ລະແຖວໃນສະຕຣິງຂາເຂົ້າ. ແຕ່ລະລາຍການໃນອາເຣໄດ້ມາຈາກການແຍກສະຕຣິງຂາເຂົ້າທີ່ຕົວອັກສອນຂຶ້ນແຖວໃໝ່.

ໄວຍາກອນ:

svc.SplitLines(inputstr: str, [keepbreaks: int]): str[0..*]

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະແຍກ.

keepbreaks: ເມື່ອເປັນ True, ຕົວອັກສອນຂຶ້ນແຖວໃໝ່ຈະຖືກເກັບໄວ້ໃນອາເຣຜົນລັບ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


    Dim a as Variant
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3")
    ' a = Array("Line1", "Line2", "Line3")
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3" & Chr(10))
    ' a = Array("Line1", "Line2", "Line3", "")
    a = SF_String.SplitLines("Line1" & Chr(10) & "Line2" & Chr(13) & "Line3" & Chr(10), KeepBreaks := True)
    ' a = Array("Line1\n", "Line2\r", "Line3\n", "")
  

SplitNotQuoted

ແຍກສະຕຣິງອອກເປັນອາເຣຂອງສະມາຊິກຕ່າງໆ ໂດຍໃຊ້ຕົວຂັ້ນ (delimiter) ທີ່ລະບຸ.

ຖ້າຂໍ້ຄວາມຍ່ອຍທີ່ຢູ່ໃນເຄື່ອງໝາຍຄຳເວົ້າມີຕົວຂັ້ນຢູ່ພາຍໃນ, ຕົວຂັ້ນນັ້ນຈະຖືກລະເວັ້ນ. ນີ້ມີປະໂຫຍດຫຼາຍໃນການວິເຄາະຂໍ້ມູນ (parsing) ທີ່ຄືກັບ CSV ເຊິ່ງມີສະຕຣິງທີ່ຢູ່ໃນເຄື່ອງໝາຍຄຳເວົ້າ.

ໄວຍາກອນ:

svc.SplitNotQuoted(inputstr: str, [delimiter: str], [occurrences: int], [quotechar: str]): str[0..*]

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະແຍກ.

delimiter: ສະຕຣິງຂອງຕົວອັກສອນໜຶ່ງຕົວ ຫຼື ຫຼາຍຕົວທີ່ຈະໃຊ້ເປັນຕົວຂັ້ນ. ຕົວຂັ້ນເລີ່ມຕົ້ນແມ່ນຕົວອັກສອນຊ່ອງວ່າງ ASCII " ".

occurrences: ຈຳນວນຂໍ້ຄວາມຍ່ອຍສູງສຸດທີ່ຈະສົ່ງຄືນ. ຄ່າເລີ່ມຕົ້ນແມ່ນ 0, ເຊິ່ງໝາຍຄວາມວ່າບໍ່ມີການຈຳກັດຈຳນວນສະຕຣິງທີ່ຈະສົ່ງຄືນ.

quotechar: ສາມາດເປັນເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ (') ຫຼື ເຄື່ອງໝາຍຄຳເວົ້າຄູ່ (").

ຕົວຢ່າງ:

ໃນ Basic

    arr1 = SF_String.SplitNotQuoted("abc def ghi")
    ' arr1 = Array("abc", "def", "ghi")
    arr2 = SF_String.SplitNotQuoted("abc,""def,ghi""", ",")
    ' arr2 = Array("abc", """def,ghi""")
    arr3 = SF_String.SplitNotQuoted("abc,""def\"",ghi""", ",")
     ' arr3 = Array("abc", """def\"",ghi""")
    arr4 = SF_String.SplitNotQuoted("abc,""def\"",ghi"""",", ",")
    ' arr4 = Array("abc", """def\"",ghi""", "")
  
ໃນ Python

    svc = CreateScriptService("String")
    arr1 = svc.SplitNotQuoted('abc def ghi')
    # arr1 = ('abc', 'def', 'ghi')
    arr2 = svc.SplitNotQuoted('abc,"def,ghi"', ",")
    # arr2 = ('abc', '"def,ghi"')
    arr3 = svc.SplitNotQuoted(r'abc,"def\",ghi"', ",")
    # arr3 = ('abc', '"def\\",ghi"')
    arr4 = svc.SplitNotQuoted(r'abc,"def\",ghi"",', ",")
    # arr4 = ('abc', '"def\\",ghi""', '')
  
ໄອຄອນ ບັນທຶກ

ກະລຸນາລະວັງຄວາມແຕກຕ່າງລະຫວ່າງ Basic ແລະ Python ໃນການສະແດງສະຕຣິງ. ຕົວຢ່າງ: ໃນ Basic ຕົວອັກສອນ "" ສອງຕົວພາຍໃນສະຕຣິງຈະຖືກຕີຄວາມໝາຍເປັນຕົວອັກສອນ " ພຽງຕົວດຽວ. ໃນ Python, ສະຕຣິງທີ່ຢູ່ໃນເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ ສາມາດມີຕົວອັກສອນ " ໄດ້ໂດຍບໍ່ຕ້ອງໃສ່ຊ້ຳກັນສອງຕົວ.


StartsWith

ສົ່ງຄືນ True ຖ້າຕົວອັກສອນທຳອິດຂອງສະຕຣິງກົງກັບຂໍ້ຄວາມຍ່ອຍທີ່ໃຫ້ມາ.

ເມທອດນີ້ຈະສົ່ງຄືນ False ຖ້າສະຕຣິງຂາເຂົ້າ ຫຼື ຂໍ້ຄວາມຍ່ອຍມີຄວາມຍາວເທົ່າກັບ 0 ຫຼື ເມື່ອຂໍ້ຄວາມຍ່ອຍຍາວກວ່າສະຕຣິງຂາເຂົ້າ.

ໄວຍາກອນ:

svc.StartsWith(inputstr: str, substring: str, [casesensitive: bool]): bool

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະກວດສອບ.

substring: ຂໍ້ຄວາມຍ່ອຍທີ່ຈະຄົ້ນຫາໃນຕອນເລີ່ມຕົ້ນຂອງ inputstr.

casesensitive: ການຄົ້ນຫາສາມາດກຳນົດໃຫ້ຕົວພິມໃຫຍ່-ນ້ອຍມີຄວາມໝາຍຕ່າງກັນຫຼືບໍ່ (ຄ່າເລີ່ມຕົ້ນ = False).

ຕົວຢ່າງ:


    MsgBox SF_String.StartsWith("abcdefg", "ABC") 'True
    MsgBox SF_String.StartsWith("abcdefg", "ABC", CaseSensitive := True) 'False
  

TrimExt

ສົ່ງຄືນສະຕຣິງຂາເຂົ້າໂດຍການຕັດຊ່ອງວ່າງທາງໜ້າ ແລະ ທາງຫຼັງອອກ.

ໄວຍາກອນ:

svc.TrimExt(inputstr: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຕັດຊ່ອງວ່າງ.

ຕົວຢ່າງ:


    MsgBox SF_String.TrimExt(" Some text.  ") ' "Some text."
    MsgBox SF_String.TrimExt("   ABCDEF" & Chr(9) & Chr(10) & Chr(13) & " ") ' "ABCDEF"
  

Unescape

ແປງລຳດັບການຫຼົບຫຼີກໃດໆ (\\, \n, \r, \t) ໃນສະຕຣິງຂາເຂົ້າໃຫ້ເປັນຕົວອັກສອນ ASCII ທີ່ກ່ຽວຂ້ອງ.

ໄວຍາກອນ:

svc.Unescape(inputstr: str): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະແປງ.

ຕົວຢ່າງ:


    MsgBox SF_String.Unescape("abc\n\tdef\\n")
    ' "abc" & Chr(10) & Chr(9) & "def\n"
  

Unquote

ເອົາເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ ຫຼື ຄູ່ທີ່ຢູ່ທາງໜ້າ ແລະ ທາງຫຼັງຂອງສະຕຣິງຂາເຂົ້າອອກ.

ນີ້ມີປະໂຫຍດຫຼາຍໃນການວິເຄາະຂໍ້ມູນ (parsing) ທີ່ຄືກັບ CSV ເຊິ່ງມີສະຕຣິງທີ່ຢູ່ໃນເຄື່ອງໝາຍຄຳເວົ້າ.

ໄວຍາກອນ:

svc.Unquote(inputstr: str, [quotechar: str]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະເອົາເຄື່ອງໝາຍຄຳເວົ້າອອກ.

quotechar: ສາມາດເປັນເຄື່ອງໝາຍຄຳເວົ້າດ່ຽວ (') ຫຼື ເຄື່ອງໝາຍຄຳເວົ້າຄູ່ (") (ຄ່າເລີ່ມຕົ້ນ).

ຕົວຢ່າງ:


    Dim s as String
    ' s = "Some text" (ໂດຍບໍ່ມີເຄື່ອງໝາຍຄຳເວົ້າຄຸມ)
    s = SF_String.Unquote("""Some text""")
    ' ສະຕຣິງລຸ່ມນີ້ບໍ່ມີເຄື່ອງໝາຍຄຳເວົ້າຄຸມ, ດັ່ງນັ້ນມັນຈຶ່ງຄືເກົ່າບໍ່ມີການປ່ຽນແປງ
    ' s = "Some text" (ຄືເກົ່າ)
    s = SF_String.Unquote("Some text")
    ' ເຄື່ອງໝາຍຄຳເວົ້າພາຍໃນສະຕຣິງຈະບໍ່ຖືກເອົາອອກ
    ' s = "The ""true"" meaning" (ຄືເກົ່າ)
    s = SF_String.Unquote("The ""true"" meaning")
  

Wrap

ແປງສະຕຣິງຂາເຂົ້າເປັນອາເຣຂອງຂໍ້ຄວາມຍ່ອຍ ເພື່ອໃຫ້ແຕ່ລະລາຍການໃນອາເຣມີຈຳນວນຕົວອັກສອນບໍ່ເກີນທີ່ກຳນົດໃຫ້.

ໃນທາງປະຕິບັດ, ເມທອດນີ້ຈະສົ່ງຄືນອາເຣຂອງແຖວຜົນລັບທີ່ເລີ່ມຈາກສູນ, ໂດຍບໍ່ມີຕົວອັກສອນຂຶ້ນແຖວໃໝ່ຢູ່ຕອນທ້າຍ, ຍົກເວັ້ນການຂຶ້ນແຖວໃໝ່ທີ່ມີຢູ່ກ່ອນແລ້ວ.

ການແທັບຈະຖືກຂະຫຍາຍໂດຍໃຊ້ວິທີດຽວກັນກັບທີ່ເຮັດໂດຍເມທອດ ExpandTabs.

ສັນຍະລັກການຂຶ້ນແຖວໃໝ່ຈະຖືກແທນທີ່ດ້ວຍຕົວອັກສອນ ASCII ທີ່ທຽບເທົ່າ.

ຖ້າຜົນລັບທີ່ຖືກຂຶ້ນແຖວໃໝ່ (wrapped) ບໍ່ມີເນື້ອໃນ, ອາເຣທີ່ສົ່ງຄືນມາຈະວ່າງເປົ່າ.

ໄວຍາກອນ:

svc.Wrap(inputstr: str, [width: int], [tabsize: int]): str

ພາຣາມິເຕີ:

inputstr: ສະຕຣິງທີ່ຈະຈັດການຂຶ້ນແຖວໃໝ່.

width: ຈຳນວນຕົວອັກສອນສູງສຸດໃນແຕ່ລະແຖວ (ຄ່າເລີ່ມຕົ້ນ = 70).

tabsize: ກ່ອນການຂຶ້ນແຖວໃໝ່, ຕົວອັກສອນ TAB Chr(9) ທີ່ມີຢູ່ຈະຖືກແທນທີ່ດ້ວຍຊ່ອງວ່າງ. ອາຄິວເມນ tabsize ຈະກຳນົດ TAB stops ທີ່ TabSize + 1, 2 * TabSize + 1, ... N * TabSize + 1 (ຄ່າເລີ່ມຕົ້ນ = 8).

ຕົວຢ່າງ:

ໃນ Basic

    a = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."
    b = SF_String.Wrap(a, 20)
    ' Array("Neque porro ", "quisquam est qui ", "dolorem ipsum quia ", "dolor sit amet, ", "consectetur, ", "adipisci velit...")
  
ໃນ Python

    a = "Neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit..."
    b = svc.Wrap(a, 20)
    # ('Neque porro ', 'quisquam est qui ', 'dolorem ipsum quia ', 'dolor sit amet, ', 'consectetur, ', 'adipisci velit...')
  
ໄອຄອນ ຄຳເຕືອນ

ຣູທີນ ຫຼື ຕົວລະບຸ Basic ຂອງ ScriptForge ທັງໝົດທີ່ຂຶ້ນຕົ້ນດ້ວຍເຄື່ອງໝາຍຂີດກ້ອງ "_" ແມ່ນສະຫງວນໄວ້ສຳລັບໃຊ້ພາຍໃນ. ພວກມັນບໍ່ໄດ້ມີໄວ້ໃຫ້ໃຊ້ໃນມາໂຄຣ Basic ຫຼື ສະຄຣິບ Python.


ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!