lua: 截取字符串/home/root/test/123:输出结果为123 ,怎么弄呢?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lua: 截取字符串/home/root/test/123:输出结果为123 ,怎么弄呢?相关的知识,希望对你有一定的参考价值。

local s = "/home/root/test/123"
print(string.match(s,".+/(.+)"))
匹配出最后一次/之后的内容
我不确定你的字符串是
/home/root/test/123:

还是
/home/root/test/123

如果是
/home/root/test/123:的话就是

local s = "/home/root/test/123:"
print(string.match(s,".+/(.+):"))
参考技术A String strs = "/home/root/test/123";
int last = strs.lastIndexOf("/");
String str = strs.substring(last+1, strs.length()); //不带 / 就让last加1 ,带斜杠就不用加
System.out.println(str);

楼上们貌似写的很高深,我不怎么能看懂! 没用过。。。
参考技术B 一二三楼依次使用Lua C Java 参考技术C #include<string.h>
#include<stdio.h>
void main()

char str[]= "/home/root/test/123";
printf("%s\n", strrchr(str, '/') + 1 );

lua中string常用api

local a="abcdefgbbb"

string.sub(a,1,3) 字符串截取 返回截取的字符串           print(string.sub(a,1,3))      --abc

string.gsub(a,"b","c",5) 字符串替换,将a中的bbb替换为ccc 替换5次,返回替换后的字符串跟替换次数  -- print(string.gsub(a,"b","c",5)) --accdefgbbb 4

string.find(a,"ab",1) 在a中第二个位置开始查找ab 返回ab出现的首、尾两个位置          print(string.find(a,"ab",1))    --   1   2

string.match(aa,"ab") 如果存在ab返回ab 不存在返回nil      print(string.match(aa,"ab"))      --ab

string.rep(a, 2)返回重复a字符串2次的字符串。           print(string.rep(a, 2))         --abcdefgbbbabcdefgbbb

string.len(s)返回s的长度。                            

string.upper(a)返回一份已将大写转成小写的字符串a的拷贝    print(string.upper(a))   -- ABCDEFGBBB  

string.lower(a) 返回一份已将小写转成大写的字符串a的拷贝

string.char, string.byte用于转换字符和对于的数字之间值    local i=97   print(string.char(i))   --a    print(string.byte("a"))    --97

string.format是强大字符串格式化函数,和c语言的printf类似

 

以上是关于lua: 截取字符串/home/root/test/123:输出结果为123 ,怎么弄呢?的主要内容,如果未能解决你的问题,请参考以下文章