【问题标题】:Remove non alphanumeric characters from lastword of a line using regex使用正则表达式从行的最后一个字中删除非字母数字字符
【发布时间】:2014-10-21 11:34:21
【问题描述】:

我有两条字线(用空格分隔)。每个单词可以包含字母数字、符号和标点符号。我需要从第二个单词中删除所有非字母数字字符,例如

改变,

AT&T AT&T

到:

AT&T ATT

如何使用正则表达式替换来实现这一点?

【问题讨论】:

  • 您使用什么语言/工具?
  • @anubhava 我正在使用使用 Java 实现的第 3 方产品。产品使用 java 进行正则表达式模式匹配。我尝试过返回最后一个单词的 \s(.+)$,我只是不知道如何按原样保留第一个单词并从第二个单词中删除非字母数字字符。
  • ok 在下面提供了一个答案,它应该适用于 Java。

标签: regex


【解决方案1】:

你可以搜索这个正则表达式:

(\S+\s+)|\W+

并将其替换为:

$1

RegEx Demo

【讨论】:

    【解决方案2】:

    [^a-zA-Z0-9] 匹配非字母数字。只需将其替换为空字符串即可。

    【讨论】:

    • 我想替换第二个单词。输入是整行,例如“AT&T AT&T”,我想将其转换为“AT&T ATT”。
    猜你喜欢
    • 2012-01-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 2013-01-06
    相关资源
    最近更新 更多