我需要在任何字母之前替换出现在开头的所有非字母字符 例如
$%5hello w8r ^ ld变成你好w8r ^ ld
我现在得到的这个正则表达式可以替换任何单词字符,但不会替换数字
s.replaceFirst("^[\\W_]+", "")
答案 0 :(得分: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的评论,我将*
更改为+
。如果没有匹配,则无需更换。它实际上更清洁。