lua 怎么通过空格来分割字符串

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua 怎么通过空格来分割字符串相关的知识,希望对你有一定的参考价值。

如 local str="hello i am marry"
通过空格分割得到
arr=["hello","i","a,","marry"]

参考技术A --如果想学习更多的lua字符串模式匹配请参考《Programming in Lua》第二十章String库
local str = "hello i am marry"
local arr =
for w in string.gmatch(str, "%S+") do
table.insert(arr,w)
end

Java--字符串使用StringTokenizer来分割字符,由小写转大写,由大写转小写

我们再来看看Java的字符串分割另外一种方法,使用 StringTokenizer

  可以使用 StringTokennizer 设置不同分隔符来分隔字符串,其默认的分割符是: 空格 "",制表符 (\\t), 换行符(\\n), 回车符(\\r)

StringTokenizer 和 split是由区别的。我们来具体看下实例

Java--字符串使用StringTokenizer来分割字符,由小写转大写,由大写转小写_测试

其中包含使用空格,逗号来分割字符串

public class StringTestTokenizer 

public static void main(String[] args)
String str = "He , llo , wor, ld!"; String str1 = str.trim(); //去掉首尾空格 String str2 = str.replace(" ",""); System.out.println(str2); //使用StringTokenizer来分割字符串
StringTokenizer st = new StringTokenizer(str); //通过空格分割
while(st.hasMoreElements())
System.out.println(st.nextElement());
//通过逗号来分割 StringTokenizer st1 = new StringTokenizer(str,","); //实例化对象 while (st1.hasMoreElements())
System.out.println(st1.nextElement());


可以看到StringTokenizer的语法是实例化对象(字符串),如果以空格为分割符,就是(str) 如果是逗号,就是 (str,",");

这里我们再说下split和StringTokenizer的区别,如下:

public class LiuLangJianKe 
//使用split分割字符/使用StringTokenizer来分割字符
public static void main(String[] args)
String str = "Happy birthday, rpc!"; //将字符串从th处分割 split String[] arg = str.split("th"); for (String str1:arg
)
System.out.println(str1);

System.out.println("----------------------");
//使用StringTokenizer类进行分割 还是 th StringTokenizer st = new StringTokenizer(str,"th"); while(st.hasMoreElements())
System.out.println(st.nextElement());

都是以th为分割符,可以看到结果是一样的。

但是这两种方式肯定是有区别的,区别是什么呢,来看看实例

String str1 = "Hello,world,etst";String[] arg1 = str1.split("el");for (String str2:arg1
)
System.out.println(str2);
System.out.println("----------------------");StringTokenizer st1 = new StringTokenizer(str1,"el");while (st1.hasMoreElements())
System.out.println(st1.nextElement());

换了一个字符串,看下结果

H
lo,world,etst
----------------------
H
o,wor
d,
tst

可以看出:

split 以整个字符串进行切割

StringTokenizer 以给定分割字符串的每个字符进行分割

分割字符串同样是“el”,但是结果却不一样,StringTokenizer分割原理是:只要有字符e和l的地方都进行切割,而split是只在字符串el的地方切割。


好了,今天就到这里吧


以上是关于lua 怎么通过空格来分割字符串的主要内容,如果未能解决你的问题,请参考以下文章

c语言通过空格分割字符串,并生成多个字符串数组

Delphi 分割字符串

lua正则分割字符串求助

c语言 讲一个字符串str以空格为分割,分割后输出到一个一维数组

lua判断两个数组是否相等和lua分割字符串

java编程:如何自行输入数字来用空格分割字符串?