【德州扑克开发记录】lua提取字符串中的中英文

local tb = {}local lenInByte = #strlocal i = 1while i < (lenInByte + 1) do   local curByte = string.byte(str, i)   local szType   local byteCount=1   if curByte>0 and curByte<=127 then      if curByte>=48 and curByte<=57 then         szType = ‘num‘      elseif (curByte>=97 and curByte<=122) or            (curByte>=65 and curByte<=90) then         szType = ‘letter‘      end      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

   local item = {}   if byteCount == 1 then      item.type = szType and szType or "en"   else      item.type = "cn"   end

   item.value = char

   table.insert(tb, item)end
时间: 2024-11-08 18:38:10

【德州扑克开发记录】lua提取字符串中的中英文的相关文章

【德州扑克开发记录】用lua实现ntohs()和htons()

在网络传输过程中,需要把数值转换为网络可传输的类型(如字符串),这就需要用到ntohs和htons. htons:把一个数值转换为一个(用于网络传输的)字符串. ntohs:把一个(用于网络传输的)字符串转换为一个数值. 举例,后端要传1个包体的长度给前端,长度为6598,则会先用htons把该数字转换为字符串‘Ab’,前端收到后再用ntohs转化成数值6598. 无奈lua没有提供这样的库,只有自己写. function getHtons(nInt, nByte)--nInt数值,nByte转

【德州扑克开发记录】在lua层sdk接口类继承自cocos2d类的危害

之前给外包接微信.fb.gp.appstore等,lua调用的类是这么定义的: local Platform_Appstore = class("Platform_Appstore",function() return display.newLayer()end) 咋看一下是个很普通的用法,但却制造了2个非常难以调试的bug,给后来的工作带来了莫大的痛苦. BUG1:ios真机调试,appstore支付后,乱点界面一通后,闪退,xcode报错卡在oc文件的touchbegan中. 这个

【德州扑克开发记录】ios调facebook sdk时无法打开手机上装的fb客户端

之前同事说facebook后台->setting的bundle id没有关联到打包的bundle id,可是对应了之后ios依然不能挂起客户端. 调用时lua控制台输出错误:This app is not allowed to query for scheme fbauth 在以下网址找到答案http://www.jianshu.com/p/e38a609f786e 工程->ios下有个Info.plist文件,选中并在LSApplicationQueriesSchemes一栏中把fbauth

【德州扑克开发记录】Mac quick-3.3模拟器接入protobuf

接入protobuf a.按照protobuf接入教程接好 b.xcode重编时找不到libsqlite3.dylib和libz.dylib库 解决方法如下: step 1 : Go to Build Phases > Link Binary with Libraries > + > Add other While in the file selection window press: "CMD"+Shift+G (i.e. Go to folder) and typ

java:使用正则提取字符串中的数字(例如提取短信中的验证码)

使用java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (matcher.find()) { System.out.println(matcher.gr

python提取字符串中数字

题目:[这是一个复杂问题的简化]如下是一个字符串列表,提取字符串中第二个数字,并判断是否大于1000,如果是,从列表中删除这一行. 1000\t1002\n .....[省略].... 代码: <pre name="code" class="python">oldStr = "1000\t1002\n" newStr = oldStr #匹配目标数字左侧字符串 t=newStr.index("\t") newStr

Java提取字符串中的手机号

java通过正则表达式提取字符串中的手机号,简单快速方便,能提取多个手机号 public String getTelnum(String sParam){ if(sParam.length()<=0) return ""; Pattern pattern = Pattern.compile("(1|861)(3|5|8)\\d{9}$*"); Matcher matcher = pattern.matcher(sParam); StringBuffer bf

使用awk提取字符串中的数字或字母

1.提取字符串中的数字 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F "" ' {   for(i=1;i<=NF;i++)    {       if ($i ~ /[[:digit:]]/)          {       str=$i       str1=(str1 str)     }     }    print str1 }' 输出 3458 或 $ echo 'dsFUs34tg*fs5a%8ar%$#@' |awk -F &q

Python统计字符串中的中英文字符、数字空格,特殊字符

# -*- coding:utf8 -*- import string from collections import namedtuple def str_count(s): '''找出字符串中的中英文.空格.数字.标点符号个数''' count_en = count_dg = count_sp = count_zh = count_pu = 0 s_len = len(s) for c in s: # 英文 if c in string.ascii_letters: count_en +=