Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享
一、判断字符串中包含中文字符的方法
遍历数组,对每个字节使用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)
相关推荐
-
Lua判断字符串中包含中文字符的方法和计算字符串宽度函数分享
一.判断字符串中包含中文字符的方法 遍历数组,对每个字节使用string.byte(),发现有大于127的,就是汉字,可以参照下面的代码. 二.计算字符串宽度函数 复制代码 代码如下: -- 计算字符串宽度 local str = "Jimmy: 你好,世界!" local fontSize = 20 local lenInByte = #str local width = 0 for i=1,lenInByte do local curByte = string.by
-
Python实现判断字符串中包含某个字符的判断函数示例
本文实例讲述了Python实现判断字符串中包含某个字符的判断函数.分享给大家供大家参考,具体如下: #coding=utf8 #参数包含两个: #containVar:查找包含的字符 #stringVar:所要查找的字符串 def containVarInString(containVar,stringVar): try: if isinstance(stringVar, str): if stringVar.find(containVar): return True else: return
-
编写PHP程序检查字符串中的中文字符个数的实例分享
有时候我们需要计算一个字符串中包含的字数,对于纯英文字符串,字数等于字符串长度,用 strlen函数即可获得,但如果字符串中包含中文怎办?mb_strlen可以实现,但不幸没装扩展,那就自己实现一下吧. php有一个扩展一般是必装的,我们可以使用mb_strlen来获取字符串中的字数,用法一般如下: $len = mb_strlen("你是我的小苹果","utf-8"); 如愿获得字符串长度:7. 如果没装mb扩展呢?自己实现一下吧. 我们要先明白一个事实:字符串是
-
JavaScript过滤字符串中的中文与空格方法汇总
js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的朋友可以参考一下. 1.javascript过滤空格: function moveSpace() { var str = " abc defg"; alert(str.replace(/[ ]/g, "")); } moveSpace(); 2.javascript过滤中文: var title ="字符串zifuchuan"
-
JavaScript基于扩展String实现替换字符串中index处字符的方法
本文实例讲述了JavaScript基于扩展String实现替换字符串中index处字符的方法.分享给大家供大家参考,具体如下: 核心代码: String.prototype.replaceCharAt = function(n,c){ return this.substr(0, n)+ c + this.substr(n+1,this.length-1-n); } 用法示例: <!DOCTYPE html> <html lang="en"> <head&g
-
js replace(a,b)之替换字符串中所有指定字符的方法
如下所示: var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str1); // 打印结果: obcadeacf var str2 = str.replace(/a/g, 'o'); alert(str2); //打印结果: obcodeocf, 注意: 此处replace的第一个参数为正则表达式,/g是全文匹配标识. 以上这篇js replace(a,b)之替换字符串中所有指定字符的方法就是小编分享给大家的全部内容了,
-
JavaScript实现替换字符串中最后一个字符的方法
本文实例讲述了JavaScript实现替换字符串中最后一个字符的方法.分享给大家供大家参考,具体如下: 1.问题背景 在一个输入框中,限制字符串长度为12位,利用键盘输入一个数字,会将字符串中最后一位替换,比如:111111111111,再输入一个3,会显示111111111113 2.具体实现 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht
-
Java中字符串中连续相同字符去重方法
最近参加了一个面试,问到了如何在一个字符串中连续相同字符去重,想了想用正则表达式应该可以轻松实现.可是由于长时间没有编码了,而且由于原先的工作用到的比较少.具体的自己就不会写正则表达式用到的类名什么的了.总之就是面试没有过了. 回来再网上搜了搜,本来以为可以很容易找到相应的内容,可是找了半天没有找到我想要的结果.后来在某个相似问题求助中看到了相应答案,不过还是有所区别,根据该问题的解决思路,最后实现了. 代码如下: public class Test { public static void m
-
Python查找文件中包含中文的行方法
前言 近几天在做多语言版本的时候再次发现,区分各种语言真的是一件比较困难的事情,上一次做中文提取工具的就花了不少时间,这次决定用python试一试,结果写起来发现真是方便不少,自己整理了一下方便以后查找使用. 代码 #!/usr/bin/env python3 # -*- coding: utf-8 -*- # find the line of containing chinese in files __author__ = 'AlbertS' import re def start_find_
-
Python字符串中删除特定字符的方法
分析 在Python中,字符串是不可变的.所以无法直接删除字符串之间的特定字符. 所以想对字符串中字符进行操作的时候,需要将字符串转变为列表,列表是可变的,这样就可以实现对字符串中特定字符的操作. 1.删除特定字符 特定字符的删除,思路跟插入字符类似. 可以分为两类,删除特定位置的字符 或者 删除指定字符. 1.1.删除特定位置的字符 使用.pop()方法.输入参数,即为要删除的索引. string = '公众号:土堆碎念' list_str = list(string) list_str.po
随机推荐
- MongoDB如何对数组中的元素进行查询详解
- 利用Angularjs和bootstrap实现购物车功能
- 详解Linux 主机网络接入配置
- vbs 注册表操作类代码
- apache日志文件详解和实用分析命令
- Linux C++ 使用condition实现阻塞队列的方法
- 谈谈为JAXB和response设置编码,解决wechat4j中文乱码的问题
- JS 动态获取节点代码innerHTML分析 [IE,FF]
- PHP实现将多个文件中的内容合并为新文件的方法示例
- 关于C/C++中static关键字的作用总结
- C语言实现找出二叉树中某个值的所有路径的方法
- 利用MySQL加密函数保护Web网站敏感数据的方法分享
- javascript+HTML5自定义元素播放焦点图动画
- Java Lambda表达式之从集合到流
- SQL Server 日期函数CAST 和 CONVERT 以及在业务中的使用介绍
- 微信小程序request请求后台接口php的实例详解
- 对于js垃圾回收机制的理解
- MySQL的C语言API接口
- Java 中POI 导入EXCEL2003 和EXCEL2007的实现方法
- c++ cin 作为while条件(详解)