Lua中string.len()使用指南

前言

今天是星期天,我还是不浪费大家的脑细胞了,直接来列举一个string家族中比较简单的函数,函数虽然简单,但是用处却很大,使用频率也很高,废话不多说,我们直接来看函数用法。

内容

string.len()
原型:string.len(s)
解释:返回所给字符串的长度,如果字符串中包含'\0',也会被统计为一个字符。

Usage
首先新建一个文件将文件命名为lentest.lua然后编写如下代码:
-- 一个常规字符串

local sourcestr = "This is a rainy day!"
local sourcelen = string.len(sourcestr)
print("\nthe len of sourcestr is "..sourcelen)

-- 包含'\0'的字符串

local str = "Hello Lua \000 What?"
local strlen = string.len(str)
print("\nthe len of str is "..strlen)

-- 换一种写法

local strlen_new = str:len()
print("\nthe len of str is "..strlen_new)

运行结果

总结

这个函数也会统计字符串中'\0'的个数,这和c语言是不一样的,这一点需要注意
第三组测试我是为了复习一下string家族中所有函数的另一种写法,其实以前也总结过,只不过今天在这里再次巩固一下

(0)

相关推荐

  • Lua中string.lower()使用指南

    前言 今天我们总结的函数也比较简单,函数的作用的将所给字符串的中的大写字母转换成小写字母,这种操作往往出现在比较操作之前,比如验证码通常都是不区分大小写的,接下来我们一起看一下函数的用法. 内容 string.lower() 原型:string.lower(s) 解释:接收一个字符串,然后返回一个将字符串中大写字母转化为小写字母的字符串副本,除此之外其他字符都不会被改变,大写字母的定义依赖于当前的本地设置. Usage 首先我们新建一个文件将文件命名为lowertest.lua然后编写代码如下:

  • Lua字符串库(string库)学习笔记

    Lua 最强大的特性之一就是它的字符串处理能力,它支持字符格式化输出,具有可扩展的模式匹配查找功能,以及一些实用的字符操作,例如查询.截取.替换和删除等字符串操作,这些字符串操作函数都封装在一个名为 string 的模块里. Lua 里的字符索引是从 1 开始,索引值也可以是负数,这种情况将被解释成向后索引,从字符串末尾开始算起. 下面是 Lua 5.2 提供的字符串操作函数: byte 函数 string.byte 把字符串里的第 i 个字符转为 ASCII编码,默认是输出第一个字符的编码(只

  • Lua loadstring函数用法实例

    该函数的返回值是返回一个function,如果load失败,则返回nil 例子代码: 复制代码 代码如下: --i = 32  local i = 0  f = loadstring("i = 1 + i; print(i)");  g = function ()          i = 1 + i;          print(i)      end  f()  g() f操作的全局i,g操作的是局部i,因为,loadstring总是在全局环境中去编译它的字符串 loadstri

  • Lua中的string库和强大的模式匹配学习笔记

    lua原生解释器对字符串的处理能力是十分有限的,强大的字符串操作能力来自于string库.lua的string函数导出在string module中.在lua5.1,同时也作为string类型的成员方法,因此,我们既可以写成string.upper(s), 也可以s:upper(),选择你喜欢的写法. string.len(s)返回s的长度. string.rep(s, n)返回重复s字符串n次的字符串. string.lower(s)返回一份已将大写转成小写的字符串s的拷贝 lower,upp

  • LUA string库使用小结

    1. string库中所有的字符索引从前往后是1,2,...;从后往前是-1,-2,... 2. string库中所有的function都不会直接操作字符串,而是返回一个结果 复制代码 代码如下: s = "[abc]" string.len(s)        <==返回5 string.rep("abc", 2) <==返回"abcabc" string.lower("ABC") <==返回"a

  • Lua中字符串(string)浅析

    Lua中字符串可以使用""或''声明,类似Javascript中的用法. 复制代码 代码如下: > ="sdfdsf" sdfdsf > ='sfdd' sfdd > ='abc"' abc" > ="abc'" abc' 同Java.Python一样,Lua的字符串是不可修改的值,可以通过string.gsub函数来替换字符串中的子串: 复制代码 代码如下: > s = string.gsub(

  • Lua中的loadfile、dofile、loadstring、require用法实例

    复制代码 代码如下: do  local errorInfo = loadfile("test.lua"); --load code file  if(errorInfo == nil) then   print("load file failed");  else   print("load file success");   local doInfo = dofile("test.lua") --complie the f

  • Lua中实现StringBuffer功能

    在Lua中,字符串是一个常量,如果用字符串连接符".."把2个字符串连接起来,例如first_str = first_str .. second_str,那么原来的first_str和second_str就会作为垃圾等待回收,first_str引用的是一个新的字符串,如果在程序里面有大量的字符串连接操作的话,性能会十分低下.Lua是一个很简洁的语言,他没有StringBuffer的实现,但是其实我们可以动手写一个简单的StringBuffer实现,来避免性能的问题. 首先定义一个叫St

  • Lua中的string库(字符串函数库)总结

    Lua解释器对字符串的支持很有限.一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容.在Lua中操纵字符串的功能基本来自于string库. 字符串库中的一些函数是非常简单的: string.len(s)          返回字符串s的长度: string.rep(s, n)      返回重复n次字符串s的串:你使用string.rep("a", 2^20)可以创建一个1M bytes的字符串(比如,为了测试需要): string.lower(s)

  • Lua中string.len()使用指南

    前言 今天是星期天,我还是不浪费大家的脑细胞了,直接来列举一个string家族中比较简单的函数,函数虽然简单,但是用处却很大,使用频率也很高,废话不多说,我们直接来看函数用法. 内容 string.len() 原型:string.len(s) 解释:返回所给字符串的长度,如果字符串中包含'\0',也会被统计为一个字符. Usage 首先新建一个文件将文件命名为lentest.lua然后编写如下代码: -- 一个常规字符串 local sourcestr = "This is a rainy da

  • Lua中模块以及实现方法指南

    从使用的角度来看,一个模块就是一个程序库,可以通过Lua自身提供的require来加载.然后便得到一个全局变量,表示一个table.这个table就是像一个名字空间,其内容就是模块导出的所有东西,例如函数和常量.简单的说,Lua中的模块就是一个table,table中可以包括任何东西.本文首先详细介绍模块相关的require函数,包括该函数的执行流程以及查找模块的路径,然后介绍了实现模块的三种方法,并给出相应的优缺点.  require函数 该函数用来加载一个模块,即按指定的路径和传入的参数,查

  • Lua中的捕获机制和转换技巧介绍

    捕获 捕获是这样一种机制:可以使用模式串的一部分匹配目标串的一部分.将你想捕获的模式用圆括号括起来,就指定了一个捕获. 在string.find使用捕获的时候,函数会返回捕获的值作为额外的结果.这常被用来将一个目标串拆分成多个: 复制代码 代码如下: pair = "name = Anna" _, _, key, value = string.find(pair, "(%a+)%s*=%s*(%a+)") print(key, value)    --> na

  • Lua中操作字符串的基本方法整理

    字符串是一个字符序列,以及控制字符.字符串可以用三种形式被初始化,其中包括: 单引号之间的字符 双引号之间的字符 [] 之间的字符[[和]] 对于上述三种形式的一个例子如下所示. 复制代码 代码如下: string1 = "Lua" print("\"String 1 is\"",string1) string2 = 'Tutorial' print("String 2 is",string2) string3 = [[&qu

  • Lua中的一些常用函数库实例讲解

    前言 这篇文章将会来一些比较轻松的内容,就是简单的介绍一下Lua中几个常用的库.简单的说就是几个API的介绍.所以说,看起来比较容易,也没有多大的分量.就是纯粹的总结.使用库就是为了方便我们的开发,提高开发效率,同时也能保证代码的质量.希望大家以后也不要重复造轮子了. 数学库 数学库(math)由一组标准的数学函数构成.这里主要介绍几个常用的函数,其它的大家可以自行百度解决. 三角函数(sin,cos,tan--) 所有的三角函数都使用弧度单位,可以用函数deg(角度)和rad(弧度)来转换角度

  • Lua中获取utf8字符串长度的方法和自定义函数

    复制代码 代码如下: --- 获取utf8编码字符串正确长度的方法 -- @param str -- @return number function utfstrlen(str) local len = #str; local left = len; local cnt = 0; local arr={0,0xc0,0xe0,0xf0,0xf8,0xfc}; while left ~= 0 do local tmp=string.byte(str,-left); local i=#arr; wh

随机推荐