正则表达式替换所有主要字符而不是aZ

 hgsfaerqw_504 发布于 2023-01-30 09:02

我需要替换任何字母之前出现的所有非字母字符,例如

$%5hello w8r ^ ld成为你好w8r ^ ld

我现在得到的这个正则表达式可以用来替换任何单词字符,但不会替换数字

s.replaceFirst("^[\\W_]+", "")

Floris.. 5

您正在使用错误的字符类.使用

s.replaceFirst("^[^a-zA-Z]+", "")

那是

^          start at the beginning of the string
[^  ]+     one or more (greedy - keep going until you hit a letter
a-zA-Z     ascii characters between a-z or A-Z

根据@anubhava的评论,我改为*a +.如果没有匹配,则无需更换.它实际上更清洁.

1 个回答
  • 您正在使用错误的字符类.使用

    s.replaceFirst("^[^a-zA-Z]+", "")
    

    那是

    ^          start at the beginning of the string
    [^  ]+     one or more (greedy - keep going until you hit a letter
    a-zA-Z     ascii characters between a-z or A-Z
    

    根据@anubhava的评论,我改为*a +.如果没有匹配,则无需更换.它实际上更清洁.

    2023-01-30 09:04 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有