1

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

String test = "hfikoebndolahsdHEL123LOkjahhsdqhuihs";

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

我希望你能理解我!

提前致谢。

(抱歉英语不好)。

4

2 回答 2

14

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

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

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

于 2012-06-20T19:08:52.137 回答
4

如果您String将属于您提到的那种类型,"hfikoebndolahsdHEL123LOkjahhsdqhuihs"并且只是数字之间的变化,并且您想要保留HEL123LO并且其余字母与您的示例中的那种类型相同,那么您可以做一个简单的子字符串. 我知道这可能不是最好的解决方案,而只是提出一个替代方案。

test = test.substring(test.indexOf("H"),(test.lastIndexOf("O")+1));
于 2012-06-20T19:13:37.867 回答