我正在尝试验证一些输入以删除一组字符。只允许字母数字字符加、句点、下划线、连字符。我在这里测试了正则表达式[^\w.-]
http://gskinner.com/RegExr/它与我想要删除的内容匹配,所以我不确定为什么ed
返回相反的内容。我错过了什么?
我的最终目标是输入"10.41.89.50"
并获得"10.41.89.50
"。
我尝试过:
echo“10.41.89.50”| sed s/[^w.-]//g
返回
echo“10.41.89.50”| sed s/[\w.-]//g和
echo“10.41.89.50”| sed s/[\w^-]//g
返回10418950
我尝试使用sed跳过/删除此处找到的答案,但没有删除任何内容。
要删除除字母数字和“-”之外的所有字符,请使用以下代码:
echo "a b-1_2" | sed "s/[^[:alnum:]-]//g"
您可能希望改用类:
echo "Â10.41.89.50 " | sed "s/[[:alpha:].-]//g"
应该工作。如果没有,您可能需要更改本地设置。
另一方面,如果您只想保留数字、连字符和周期d::
echo "Â10.41.89.50 " | sed "s/[^[:digit:].-]//g"
如果字符串位于变量中,则可以使用纯bash和参数扩展:
$ dirty="Â10.41.89.50 "
$ clean=${dirty//[^[:digit:].-]/}
$ echo "$clean"
10.41.89.50
或
$ dirty="Â10.41.89.50 "
$ clean=${dirty//[[:alpha:]]/}
$ echo "$clean"
10.41.89.50
您还可以查看1_CR
的答案。
tr的-c(补码)标志可以是一个选项
echo "Â10.41.89.50-._ " | tr -cd '[:alnum:]._-'
问题内容: 我需要从字符串中删除所有不在集合中或不是空格的字符。 有人有功能吗? 问题答案: 听起来您几乎已经知道自己想做的事情,基本上将其定义为正则表达式。
问题内容: 我想将以下字符串转换为提供的输出。 我还没有发现,将处理特殊字符,如任何解决方案,,,等。 基本上,我只是想摆脱所有不是字母数字的东西。这是我尝试过的… 尝试多个步骤 结果 任何帮助,将不胜感激。 工作解决方案: 问题答案: 删除非字母数字字符 以下是/正确的正则表达式,用于从输入字符串中去除非字母数字字符: 请注意,这等效于-它包括下划线字符。要删除下划线,请使用例如: 输入格式错误
问题内容: 我正在编写python MapReduce字数统计程序。问题是数据中散布着许多非字母字符,我发现这篇文章从Python的字符串中剥离了除了字母数字字符之外的所有内容,这显示了使用正则表达式的一个很好的解决方案,但是我不确定如何实现它 恐怕我不确定该如何使用该库甚至正则表达式。我不确定如何将正则表达式模式正确地应用于传入的字符串(书的一行)以检索没有任何非字母数字字符的新行。 有什么建议
但是,当我尝试使用的输入运行此代码时,我得到了的意外结果 我做错了什么?
如何在Java中从字符串中删除所有非字母数字阿拉伯字符?
问题内容: 我得到的任务是从文本文件或字符串中删除所有非数字字符,包括空格,然后在旧字符旁边打印新结果,例如: 之前: 后: 由于我是初学者,所以我不知道从哪里开始。请帮忙 问题答案: 最简单的方法是使用正则表达式