加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 从红色语言中删除字符串中的特殊字符

发布时间:2020-12-14 06:04:35 所属栏目:百科 来源:网络整理
导读:我想删除字符串中的所有字符,除了: – 或_或. 通过Z. 通过z 0到9 空间 在linux命令行上,使用sed我会这样做: $echo "testing-#$% yes.no" | sed 's/[^-_.a-zA-Z0-9 ]//g' 输出: testing- yes.no 如何用PARSE在Red语言中实现相同的效果?我在看: http://ww
我想删除字符串中的所有字符,除了:

> – 或_或.
>通过Z.
>通过z
> 0到9
>空间

在linux命令行上,使用sed我会这样做:

$echo "testing-#$% yes.no" | sed 's/[^-_.a-zA-Z0-9 ]//g'

输出:

testing- yes.no

如何用PARSE在Red语言中实现相同的效果?我在看:

> http://www.rebol.com/docs/core23/rebolcore-15.html#section-1
> http://rebol-land.blogspot.in/2013/03/rebols-answer-to-regex-parse-and-rebol.html
> http://ross-gill.com/page/Beyond_Regular_Expressions

但是,我无法编纂它.我试过了:

>> parse "mystring%^&" [#a - #z #A - #Z #0 - #9]
== false
>> parse "mystring%^&" [#a-#z#A-#Z#0-#9]        
== false

解决方法

首先,字符必须是引号,#a是问题!,字符!是#“a”.你的规范是正确的,但你必须将它传递给charset函数,才能做出一个比特!形成它.

然后你可以解析你的字符串,保持有效字符和滑动无效:

>> chars: charset [#"a" - #"z" #"A" - #"Z" #"0" - #"9"]
== make bitset! #{000000000000FFC07FFFFFE07FFFFFE0}
>> rejoin parse "mystring%^&asdf" [collect some [keep chars | skip]]
== "mystringasdf"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读