[英]Regular Expression to remove everything but characters and numbers between Square brackets
[英]Regular Expression to remove everything but characters and numbers
我想从字符串中删除除字符 az、AZ 和 0-9 之外的所有内容,因此我需要为 Java 的string.replaceAll(regex, "");
旧字符串如下所示:
MAX EUK_1334-PP/B+
新字符串应如下所示:
MAXEUK1334PPB
可能有一个更简洁的正则表达式,但这肯定会起作用:
string.replaceAll("[^a-zA-Z0-9]", "");
string.replaceAll("[^a-zA-Z0-9]+", "");
String test = "MAX EUK_1334-PP/B+";
test = test.replaceAll("[\\W_]", "");
System.out.println(test + "\n");
打印结果:
MAXEUK1334PPB
有些人忘记了“_”字符:
String regex = "[_\\W]";
public class RegexFun2 {
public static void main(String[] args) {
String test = "MAX EUK_1334-PP/B+";
String regex = "[_\\W]";
String result = test.replaceAll(regex, "");
System.out.println(result);
}
}
但我仍然认为 OP 是在欺骗自己,因为他没有证明他首先尝试过,并在他原来的问题中发布了他的尝试。 只是我的2美分。
您可以使用字符的 ASCII 值:
while(!end of string){
if(valueOfChar is between 48-57 or 65-90 or 97-122)
write it to your string
}
这可能会有所帮助,但我不知道您是否应该使用replaceAll
编写代码。 replaceAll
和此代码都具有相同的性能( O(n)
)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.