搜索
查看: 3900|回复: 11

字符串截取问题

  [复制链接]

24

主题

61

帖子

403

积分

二级会员

Rank: 3Rank: 3

积分
403
发表于 2013-2-2 11:30:52 | 显示全部楼层 |阅读模式
本帖最后由 03128crz 于 2013-2-2 11:33 编辑

有个字符串
var str  = "<font title="品质特区" >品质特区</font>";

请问有什么比较方便的办法直接把上面红色的子串截取出来??
PS:title="XXXXX"中的子串可能是字母和汉字混合的
我想到的办法比较麻烦..
回复

使用道具 举报

7

主题

76

帖子

488

积分

二级会员

Rank: 3Rank: 3

积分
488
发表于 2013-2-2 11:49:37 | 显示全部楼层

直接查找,将这之间的字符串取出来,再去掉引号就行了。

直接查找<font title=
然后再查找>,将这之间的字符串取出来,再去掉引号就行了。
回复

使用道具 举报

24

主题

61

帖子

403

积分

二级会员

Rank: 3Rank: 3

积分
403
 楼主| 发表于 2013-2-2 13:51:12 | 显示全部楼层

谢谢哦, 刚想到个更简单的方法: io.print(string.split(str,"""")[2]); //输出结果品质特区

谢谢哦,
刚想到个更简单的方法:
io.print(string.split(str,"""")[2]);  //输出结果品质特区
回复

使用道具 举报

3

主题

163

帖子

918

积分

荣誉会员

Rank: 8Rank: 8

积分
918
发表于 2013-2-2 15:05:09 | 显示全部楼层

[code]var str = '品质特区'; var q,title = string.matc

  1. var str  = '<font title="品质特区" >品质特区</font>';

  2. var q,title = string.match(str,"\<[^>]+title\s*\=\s*([""'])(.+?)\1")

  3. io.open()
  4. io.print( title );
复制代码
回复

使用道具 举报

3

主题

163

帖子

918

积分

荣誉会员

Rank: 8Rank: 8

积分
918
发表于 2013-2-2 15:06:46 | 显示全部楼层

这样写也可以[code]var str = '品质特区'; import string.list;

这样写也可以
  1. var str  = '<font title="品质特区" >品质特区</font>';

  2. import string.list;
  3. var stringList = string.list(str," ")

  4. io.open()
  5. io.print( stringList.title )
复制代码

点评

真棒: 5.0 同意: 5.0
同意: 5
超牛呀,第一次看到这种写法!两个字,佩服!  发表于 2013-2-25 10:04
真棒: 5
这个有创意  发表于 2013-2-20 22:23
真棒: 5
这个想法真牛  发表于 2013-2-2 16:20
回复

使用道具 举报

3

主题

163

帖子

918

积分

荣誉会员

Rank: 8Rank: 8

积分
918
发表于 2013-2-2 15:09:54 | 显示全部楼层

用正则表达式也可以, Perl,PHP兼容正则表达式的语法与aardio模式匹配接近,不用改直接复制就可以用了。[code]import console;

用正则表达式也可以,
Perl,PHP兼容正则表达式的语法与aardio模式匹配接近,不用改直接复制就可以用了。
  1. import console;
  2. import preg;
  3. var str  = '<font title="品质特区" >品质特区</font>';

  4. var regex = preg("\<[^>]+title\s*\=\s*([""'])(.+?)\1","uis");
  5. var q,title = regex.match(str);

  6. console.log( title );
复制代码
回复

使用道具 举报

24

主题

61

帖子

403

积分

二级会员

Rank: 3Rank: 3

积分
403
 楼主| 发表于 2013-2-2 17:13:14 | 显示全部楼层

[quote][size=2][color=#999999]疯狂的筷子 发表于 2013-2-2 15:09[/color] [url=forum.php?mo

疯狂的筷子 发表于 2013-2-2 15:09
用正则表达式也可以,
Perl,PHP兼容正则表达式的语法与aardio模式匹配接近,不用改直接复制就可以用了。

good~~
开眼见了哦
回复

使用道具 举报

2

主题

16

帖子

118

积分

一级会员

Rank: 2

积分
118
发表于 2013-2-20 21:20:06 | 显示全部楼层

这个收藏了.很实用的几种方式

这个收藏了.很实用的几种方式
回复

使用道具 举报

9

主题

96

帖子

628

积分

三级会员

叫我何细尔

Rank: 4

积分
628
QQ
发表于 2013-2-24 22:08:03 | 显示全部楼层

筷子真强。。。。学习了。正则我用过几次, var stringList = string.list(str," ") 这个没用过 好想法。

筷子真强。。。。学习了。正则我用过几次,
var stringList = string.list(str," ") 这个没用过 好想法。
回复

使用道具 举报

6

主题

37

帖子

340

积分

二级会员

Rank: 3Rank: 3

积分
340
发表于 2013-2-24 23:00:18 | 显示全部楼层

工具匹配出来的[code] var strTestText = /************* var str = "
工具匹配出来的


  1. var strTestText = /*************

  2. var str  = "<font title="品质特区" >品质特区</font>";

  3. *************/;

  4. var regexExpression =  "\s\a+\p+(.*?)\p" ;

  5. for strGmatchResult in string.gmatch( strTestText, regexExpression ){

  6. //strGmatchResult为匹配的结果

  7. }
复制代码

回复

使用道具 举报

48

主题

593

帖子

3336

积分

五级会员

Rank: 8Rank: 8

积分
3336
发表于 2013-2-24 23:54:44 | 显示全部楼层

这个回帖内容得学习一下 多谢

这个回帖内容得学习一下 多谢
回复

使用道具 举报

3

主题

46

帖子

322

积分

二级会员

Rank: 3Rank: 3

积分
322
发表于 2013-3-9 20:02:24 | 显示全部楼层

6楼的写法从未见过。学习了。

6楼的写法从未见过。学习了。
人能走多远,这话不要问双脚而是要问志向;人能攀多高,这事不是要问双手而要问意志。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2019-9-19 08:25 , Processed in 0.062500 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表