找回密码
 加入
搜索
查看: 4972|回复: 16

有没有函数可以删除一组字符串中指定字符后面的所有字符?

 火.. [复制链接]
发表于 2010-6-3 14:15:30 | 显示全部楼层 |阅读模式
本帖最后由 awfymwvf 于 2010-6-4 08:07 编辑

比如说有一组字符串是“我们都是好人[真的]awbc33a2哈哈CC”

我现在想只保留“我们都是好人[真的]”这样的字符,也就是“]”后面的字符串都删除,但是“]”后面的字符串长度不是固定的,有可能长,也有可能很短,有没有函数可以一次删除“]”后面的所有字符呢?

谢谢大家了

实践证明,正则表达式很难理解,但是很有用

在这里谢谢所有帮助过我的人

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-6-3 16:56:44 | 显示全部楼层
本帖最后由 kxing 于 2010-6-3 17:00 编辑

简单的写了个,看看适合你不.
$Str=_DelEndStr("我们都是好人[真的]awbc33a2哈哈CC","我们都是好人[真的]")
msgbox(0,'',$Str)

Func _DelEndStr($String,$InStr)
$Mark=StringInStr($String,$InStr)
$NewStr=StringLeft($String,$Mark+StringLen($InStr)-1)
Return $NewStr
EndFunc

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

发表于 2010-6-3 17:58:39 | 显示全部楼层
stringregexp("我们都是好人[真的]awbc33a2哈哈CC",'.+]',3)

评分

参与人数 1金钱 +10 收起 理由
afan + 10

查看全部评分

发表于 2010-6-3 19:27:24 | 显示全部楼层
ls的不可靠,而且还牵扯到数组。
发表于 2010-6-3 19:43:11 | 显示全部楼层
$Str = '我们都是好人[真的]awbc33a2哈哈CC'
Msgbox(0, 0, StringRegExpReplace($str, '(?<=\]).*', ''))
 楼主| 发表于 2010-6-4 08:04:28 | 显示全部楼层
几段代码测试了一下,afan版主的代码太强大了,符合我的要求,谢谢afan版主
发表于 2010-6-4 09:21:02 | 显示全部楼层
回复 4# kxing
关数组何事?
发表于 2010-6-4 09:37:11 | 显示全部楼层
支持afan,哎,正则是得学学了
发表于 2010-6-4 09:43:32 | 显示全部楼层
学习了
发表于 2010-6-4 10:07:45 | 显示全部楼层
正则表达式很难理解
发表于 2010-6-4 11:58:38 | 显示全部楼层
又是正则的强项啊呵呵
发表于 2010-6-4 13:26:41 | 显示全部楼层
额 正则

叹气- -
发表于 2010-6-5 00:44:32 | 显示全部楼层
额 零宽断言
叹气- -
发表于 2010-6-5 01:51:41 | 显示全部楼层
stringtrimright($str, stringlen($str) - stinglen($str1))
发表于 2010-6-5 12:36:17 | 显示全部楼层
$Str = '我们都是好人[真的]awbc33a2哈awbc33a哈awbc33aCC'
;Msgbox(0, 0, StringRegExpReplace($str, '(?<=\]).*', ''))
Msgbox(0, 0, StringRegExpReplace($str, '](.*)', ']'))

评分

参与人数 1金钱 +15 收起 理由
afan + 15

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-17 00:27 , Processed in 0.102591 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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