Lua string字符串

Lua中字符串可以使用""或‘‘,类似Javascript中的用法

> ="sdfdsf"

sdfdsf

> =‘sfdd‘

sfdd

> =‘abc"‘

abc"

> ="abc‘"

abc‘

同Java、Python一样,Lua的字符串是不可修改的值,可以通过string.gsub函数来替换字符串中的子串:

> s = string.gsub(‘abc def‘, ‘def‘, ‘efg‘)

> =s

abc efg

另外,Lua的字符串和其他Lua对象(如table和函数等)一样,都是自动内存管理机制所管理的对象。Lua能够高效的处理长字符串,操作100K或者1M的字符串是常见的。

另外同Python一样,可以轻松使用块字符串

page = [[

<html>

<h1>hello world</h1>

</html>

]]

Lua提供了运行时的数字与字符串的自动转换:

> =‘10‘ + 1

11

> =‘hello‘ + 1

stdin:1: attempt to perform arithmetic on a string value

stack traceback:

stdin:1: in main chunk

[C]: in ?

> =‘10‘*‘2‘

20

Lua不仅会在算术操作中执行这种强制转换,还会在其他任何需要数字的地方这么做。相反,如果Lua期望一个字符串,而得到一个数字时,会将数字转换为字符串。

> =10 .. 20

1020

在lua中..是字符串连接操作符;

但是不要依赖这种类型转换,10 == "10"为false,因为类型不同。

如果想把一个字符串转换为数字,可以使用tonumber,如果不能转换,返回nil;反过来,可以使用tostring将数字转换为字符串。

有趣的是:tostring(10) == "10", 10 .. "" == "10";

另外在Lua5.1中,可以使用#来获取字符串的长度

> =#"3223"

4

> a = "3224"

> =#a

4

另外需要注意的是,\0在Lua中含义不同于其他语言如C.

> =‘abc\0abc‘

abcabc

> =#‘abc\0abc‘

7

时间: 2024-10-25 16:57:57

Lua string字符串的相关文章

lua string

–lua中字符串索引从前往后是1,2,--,从后往前是-1,-2--. –string库中所有的function都不会直接操作字符串,只返回一个结果. [基本函数] 函数 描述 示例 结果 len 计算字符串长度 string.len("abcd") 4 rep 返回字符串s的n个拷贝 string.rep("abcd",2) abcdabcd lower 返回字符串全部字母大写 string.lower("AbcD") abcd upper 返

Lua中字符串类型的源码实现

    概述 Lua完全采用8位编码,Lua字符串中的字符可以具有任何数值编码,包括数值0.也就是说,可以将任意二进制数据存储到一个字符串中.Lua的字符串是不可变的值(immutable values).如果修改,实质上是新建一个字符串.根据上文<Lua中数据类型的源码实现>中知道,在Lua中,字符串是自动内存管理机制所管理的对象,并且由联合体TString来实现存储字符串值的.下面将通过Lua 5.2.1的源码来看字符串的实现以及总结了在Lua中使用字符串的注意事项.     源码实现 首

Lua中字符串库中的几个重点函数

前言 在<Lua中的一些库>中也说道了,要对string库的模式匹配进行单独的讲解.对于字符串的处理,对于任何语言的学习来说,都是一个难点,而且也是一个必会的知识点.给你一个字符串,让你按照某种需求进行处理,你不会,那是多么尴尬的一件事情.所以,看完<Lua中的一些库>和这篇文章之后,我争取做到让你在处理字符串时,不再感到捉襟见肘,不再尴尬. 说到Lua中的模式匹配,基本上就是围绕着以下几个函数展开的: find match gsub gmatch 我的总结也就是围绕着上面的四个函

LUA string库

Lua解释器对字符串的支持很有限.一个程序可以创建字符串并连接字符串,但不能截取子串,检查字符串的大小,检测字符串的内容.在Lua中操纵字符串的功能基本来自于string库. 一.String库的常用函数: --返回字符串s的长度 local s = "HelloWorld" print(string.len(s)) -->10 --重复n次字符串s的串 print(string.rep(s,2)) -->HelloWorldHelloWorld --大写字母转换成小写 p

lua string 库

--lua中字符串索引从前往后是1,2,……,从后往前是-1,-2……. --string库中所有的function都不会直接操作字符串,只返回一个结果. -------------------------------------------------------------------------------------------------- [基本函数] 函数 描述 示例 结果 len 计算字符串长度 string.len("abcd") 4 rep 返回字符串s的n个拷贝

lua拆分字符串实现及lua源码查看

lua字符串拆分实现 --字符串分割 function splitStr(content, token) if not content or not token then return end local strArray = {} local i = 1 local contentLen = string.len(content) while true do -- true是用来避开string.find函数对特殊字符检查 特殊字符 "^$*+?.([%-" local beginP

lua 8 字符串

转自:http://www.runoob.com/lua/lua-strings.html 字符串或串(String)是由数字.字母.下划线组成的一串字符. Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符. 双引号间的一串字符. [[和]]间的一串字符. 以上三种方式的字符串实例如下: string1 = "Lua" print("\"字符串 1 是\"",string1) string2 = 'runoob.com' pr

JAVA基础——重新认识String字符串

深入剖析Java之String字符串 在程序开发中字符串无处不在,如用户登陆时输入的用户名.密码等使用的就是字符串. 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序. 创建 String 对象有三种方法 String s1="我是字符串1"; String s2=new String();//创建一个空的字符串对象 String s3=new String("我是字符串2&q

Java String字符串/==和equals区别,str。toCharAt(),getBytes,indexOf过滤存在字符,trim()/String与StringBuffer多线程安全/StringBuilder单线程—— 14.0

课程概要 String 字符串 String字符串常用方法 StringBuffer StringBuilder String字符串: 1.实例化String对象 直接赋值  String str="Hello";  推荐这种 使用关键字new  String str1=new String("Hello"); 在内存中开辟2个空间 如图: 源代码 StringDemo01.java 2.String内容的比较 String str="Hello"