如何替换java中除下划线和数字外的所有特殊字符?

dev*_*l08 5 java

我想用空白的“”替换下面字符串对象 BusDetails 中的所有特殊字符,除了 _(underscore) 和 java 中的数字?

BusDetails=BusDetails.replaceAll("—", "").replaceAll("\\s+","_").replaceAll("ROUTE", "BUS").replaceAll("-", "_");
Run Code Online (Sandbox Code Playgroud)

小智 1

这应该可以修复它:

BusDetails=BusDetails.replaceAll("(\\W|^_)*", "");
Run Code Online (Sandbox Code Playgroud)

该模式(\\W|^_)匹配任何非单词字符。此外它不包括_.