有没有函数可以删除一组字符串中指定字符后面的所有字符?
本帖最后由 awfymwvf 于 2010-6-4 08:07 编辑比如说有一组字符串是“我们都是好人[真的]awbc33a2哈哈CC”
我现在想只保留“我们都是好人[真的]”这样的字符,也就是“]”后面的字符串都删除,但是“]”后面的字符串长度不是固定的,有可能长,也有可能很短,有没有函数可以一次删除“]”后面的所有字符呢?
谢谢大家了
实践证明,正则表达式很难理解,但是很有用
在这里谢谢所有帮助过我的人 本帖最后由 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
stringregexp("我们都是好人[真的]awbc33a2哈哈CC",'.+]',3) ls的不可靠,而且还牵扯到数组。 $Str = '我们都是好人[真的]awbc33a2哈哈CC'
Msgbox(0, 0, StringRegExpReplace($str, '(?<=\]).*', '')) 几段代码测试了一下,afan版主的代码太强大了,符合我的要求,谢谢afan版主 回复 4# kxing
关数组何事? 支持afan,哎,正则是得学学了 学习了:face (33): 正则表达式很难理解 又是正则的强项啊呵呵 额 正则
叹气- - 额 零宽断言
叹气- - stringtrimright($str, stringlen($str) - stinglen($str1)) $Str = '我们都是好人[真的]awbc33a2哈awbc33a哈awbc33aCC'
;Msgbox(0, 0, StringRegExpReplace($str, '(?<=\]).*', ''))
Msgbox(0, 0, StringRegExpReplace($str, '](.*)', ']'))
页:
[1]
2