kk_lee69 发表于 2014-11-7 11:49:11

字符串长度检测 如何以中文字长度算2 英数符号算1 计算出正确的长度??[已解决]

本帖最后由 kk_lee69 于 2014-11-7 13:17 编辑

字符串长度检测 如何以中文字长度算2 英数符号算1 计算出正确的长度??
怎么判断 英数 跟中文字的数目呢??

譬如: 下面的字串(下面四行其實只是一個字串)    長度為何 (包含分隔行號)??


NT50-MTA2-45-M *4-- 下單5天
NT50-MTA5-83-M* 4--下單5天
NT50-FMB27-M* 2--下單5天
NT50-FMB32-M *2--下單5天

kevinch 发表于 2014-11-7 12:43:23

$str="NT50-MTA2-45-M *4-- 下單5天" & @CRLF & _
        "NT50-MTA5-83-M* 4--下單5天" & @CRLF & _
        "NT50-FMB27-M* 2--下單5天" & @CRLF & _
        "NT50-FMB32-M *2--下單5天"
$arr=StringRegExp($str,"[^\x01-\xff]",3)
If IsArray($arr) Then
        ConsoleWrite("stringlen长度值:"& StringLen($str)&@TAB&StringLen($str)+UBound($arr)&@CRLF)
Else
        ConsoleWrite(StringLen($str)&@CRLF)
EndIf这样试下

kk_lee69 发表于 2014-11-7 13:16:51

回复 2# kevinch
3Q 這樣果然可以 感謝!!

h20040606 发表于 2014-11-7 14:03:58

非常不错,谢谢了

h20040606 发表于 2014-11-7 14:12:47

也可以这样BinaryLen(StringToBinary($str))
页: [1]
查看完整版本: 字符串长度检测 如何以中文字长度算2 英数符号算1 计算出正确的长度??[已解决]