Lua 有关字符串的剪切 以及匹配

1.对字符中的“()”的内容剪切;

  

1     local   num1 = string.find(str1,"(");
2     local   num2 = string.find(str1,")");
3
4     local   str2 = string.sub(str1,0,num1);
5     local   str3 = string.sub(str1,num1+1,num2);    

  代码中直接如行1使用string.find 会报错;

  lx13.lua:2: unfinished capture

  stack traceback: [C]: in function ‘find‘

  源自"("为魔法字符,需要使用%号转义下才可以使用;

2.使用string.match 和正则实现对字符串的去除两端空格;  

Str = string.match(Str,"%s*(.-)%s*$");

3.使用string.match 和正则实现对字母、数字、汉字外的字符进行判断;

Str2 =  string.match(Str2,"^[A-Z-a-z-0-9-\128-\254]+$"); --return nil or Str2
时间: 2024-10-29 00:43:13

Lua 有关字符串的剪切 以及匹配的相关文章

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

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

lua 8 字符串

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

轻松python文本专题-字符串开头或者结尾匹配

场景: 字符串开头或者结尾匹配,一般是使用在匹配文件类型或者url 一般使用startwith或者endwith >>> a='http://blog.csdn.net/raylee2007' >>> a.startswith ('http') True 注意:这两个方法里面的参数可以是str,也可以是元组,但是不可以是列表和字典 >>> a='http://blog.csdn.net/raylee2007' >>> a.starts

Lua string字符串

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

将字符串s1中的任何与字符串s2中字符匹配的字符都删除

编写一个程序,将字符串s1中的任何与字符串s2中字符匹配的字符都删除. 函数原型:void my_squeeze(char s1[], char s2[]) #include <stdio.h> void my_squeeze(char s1[], char s2[]) { int i = 0; int j = 0; while (s2[j]) { while(s1[i]) { if (s2[j]==s1[i]) { while (s1[i+1]) { s1[i] = s1[i + 1]; i

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

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

华为OJ:2199 判断输入字符串中的括号匹配

根据不同的括号有个计数器,在遍历时,当计数器小于0则返回false或者当遍历完后,计数器仍旧不为零,也返回false. import java.util.Scanner; public class bracketsMatch { public static void main(String args[]){ Scanner input=new Scanner(System.in); String s=input.nextLine(); int a=0; int b=0; int c=0; for

字符串类似数据库Like匹配

public boolean checkMatchFNOrFI(String[] strArray,String value){ boolean flag = false; for(String s : strArray){ if(!s.equals("")){ String temp = s.replaceAll("\\?", "\\\\w").replaceAll("\\*", "\\\\w*"); f

关于html字符串正则判断和匹配的具体使用

前言最近在写一个组件,需要传入html字符串,里面用到了很多正则来判断是否是html标签或者匹配标签内的文本等,这里记录下.如何判断传入的字符串包含一个闭合html标签/<\/?[a-z][\s\S]>/i这个其实并不能判断标签闭合的完整性或者顺序等,只是判断字符串中是否有html标签(包含自定义标签),这对我来说足够了.这给正则里面需要学习的就是[\s\S]可以代表一切字符串./<([a-z][\s\S])>.<\/\1>/i这个就更加规范一些可以匹配一个完整闭合的标