Lua语言_获取文本字符数量

function QMPlugin.Length(FileName)
  local fileLength = 0
  pcall(
    function()
      io.input(FileName)
      local ReadContent = io.read("*a")
      local strContent = tostring(ReadContent)
      strContent = string.gsub(strContent, "[\r\n]", "")
      
      --计算strContent中UTF8格式的字符个数
      local len = #strContent
      local left = len
      local cnt = 0
      local arr={0,0xc0,0xe0,0xf0,0xf8,0xfc}
      while left ~= 0 do
        local tmp=string.byte(strContent,-left)
        local i=#arr
        while arr[i] do
          if tmp>=arr[i] then 
            left=left-i
            break
          end
          i=i-1
        end
        cnt=cnt+1
      end
      fileLength = cnt
      
    end
  )
  return fileLength
end
Dim 路径="/sdcard/Mobile/a.txt",内容="我爱你啊中国",字符数
字符数 = File.Length(路径)
TracePrint 字符数 //返回6个字符数量

 

赞 (0)