• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >Lua > Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享

Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了lua获取字符串长度,lua 字符串,lua 字符串截取,lua字符串分割,lua 字符串转换数字等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、判断字符串中包含中文字符的方法

遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码。

二、计算字符串宽度函数
-- 计算字符串宽度
 
local str = "Jimmy: 你好,世界!"
local fontSize = 20
local lenInByte = #str
local width = 0
 
for i=1,lenInByte do
    local curByte = string.byte(str, i)
    local byteCount = 1;
    if curByte>0 and curByte<=127 then
        byteCount = 1
    elseif curByte>=192 and curByte<223 then
        byteCount = 2
    elseif curByte>=224 and curByte<239 then
        byteCount = 3
    elseif curByte>=240 and curByte<=247 then
        byteCount = 4
    end
    
    local char = string.sub(str, i, i+byteCount-1)
    i = i + byteCount -1
    
    if byteCount == 1 then
        width = width + fontSize * 0.5
    else
        width = width + fontSize
        print(char)
    end
end
 
print("总宽度: "..width)
</div>

</div>

您可能想查找下面的文章:

  • Lua判断字符串前缀是否为指定字符的3种方法
  • Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享
  • Lua操作字符串的5个代码片段分享
  • Lua之字符串格式化例子和常用格式化参数介绍
  • Lua文件读写详解

相关文章

  • Lua基础教程之赋值语句、表达式、流程控制、函数学习笔记
  • Lua中的元方法__newindex详解
  • Openresty服务器使用lua脚本写的Hello World简单实例
  • 理解Lua中的__index和__newindex
  • Lua操作字符串的5个代码片段分享
  • Lua中调用函数使用点号和冒号的区别
  • Lua变量类型简明总结
  • Lua中的迭代器和泛型for实例
  • Lua极简入门指南:全局变量
  • Lua中table的几种构造方式详解

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Lua所有内置函数罗列
    • Lua中使用元表(metatable)执行算术类元方法实例
    • Lua的迭代器使用中应该避免的问题和技巧
    • Lua教程(十九):C调用Lua
    • lua中赋值类型代码详解
    • Lua中的变量类型与语句学习总结
    • lua实现的2048小游戏
    • 编写高性能Lua代码的方法
    • Lua中table库函数方法介绍
    • Lua中的变量和流控制入门学习

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有