删除除特殊字之外的所有字符串

时间:2012-06-20 19:06:54

标签: java string

假设我有一个这样的字符串:

String test = "hfikoebndolahsdHEL123LOkjahhsdqhuihs";

然后我想删除除“HEL123LO”之外的所有内容但是数字可能会像653一样,无论如何它都不会删除它。那可能吗?

我希望你能理解我!

提前谢谢。

(抱歉英语不好)。

2 个答案:

答案 0 :(得分:14)

使用正确的正则表达式String.replaceAll()方法。

test = test.replaceAll(".*(HEL\\d{3}LO).*", "$1");

此正则表达式匹配整个输入并将其替换为匹配的组(组号1)。

答案 1 :(得分:4)

如果您的String类似于您所提到的类型,"hfikoebndolahsdHEL123LOkjahhsdqhuihs"只有两者之间的数字相似,并且您希望保留HEL123LO并休息这些字母就像你的例子中那样,你可以做一个简单的子串。我知道这可能不是最好的解决方案,只是建议一个替代方案。

test = test.substring(test.indexOf("H"),(test.lastIndexOf("O")+1));