Java 从字符串中删除除特殊单词以外的所有内容

Java 从字符串中删除除特殊单词以外的所有内容,java,string,Java,String,假设我有这样一个字符串: String test = "hfikoebndolahsdHEL123LOkjahhsdqhuihs"; 然后我想删除除HEL23LO之外的所有数据,但是这个数字可能是653,而且它无论如何都不会删除它。可能吗? 我希望你能理解我! 提前谢谢 抱歉,英语不好。请使用正确正则表达式的方法 test = test.replaceAll(".*(HEL\\d{3}LO).*", "$1"); 此正则表达式匹配整个输入,并将其替换为匹配的组号1。使用正确正则表达式的方法

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

String test = "hfikoebndolahsdHEL123LOkjahhsdqhuihs";
然后我想删除除HEL23LO之外的所有数据,但是这个数字可能是653,而且它无论如何都不会删除它。可能吗? 我希望你能理解我! 提前谢谢

抱歉,英语不好。

请使用正确正则表达式的方法

test = test.replaceAll(".*(HEL\\d{3}LO).*", "$1");
此正则表达式匹配整个输入,并将其替换为匹配的组号1。

使用正确正则表达式的方法

test = test.replaceAll(".*(HEL\\d{3}LO).*", "$1");
此正则表达式匹配整个输入,并用匹配的组号1替换它。

如果字符串是您提到的类型,则hfikoebndolahsdHEL123LOkjahhsdqhuihs与类似的数字之间会发生变化,你想保留HEL123LO,剩下的字母和你的例子一样,你可以做一个简单的子字符串。我知道这可能不是最好的解决方案,但只是提出了一个替代方案

test = test.substring(test.indexOf("H"),(test.lastIndexOf("O")+1));
如果您的字符串是您所提到的类型,HFIKOEBNDOLAHSDHEL23LOKJAHSDQHUIHS和类似的数字在两者之间变化,并且您希望保留HEL23LO,其余的字母与您的示例中的类似,那么您可以做一个简单的子字符串。我知道这可能不是最好的解决方案,但只是提出了一个替代方案

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


这将只保留一个实例。问题中不清楚是否可以有多个,如果可以,是否保留all@Attila说得对,但问题的标题说的是一个特殊的词,所以我假设只有一个。如果保持倍数的话,情况会变得更复杂一些,而不是那么优雅。这将只保留一个实例。问题中不清楚是否可以有多个,如果可以,是否保留all@Attila说得对,但问题的标题说的是一个特殊的词,所以我假设只有一个。如果保持倍数的话,情况会变得更复杂一点——不那么优雅。你的输入中会有多个HEL*LO版本吗?如果是,是否要保留所有这些?aHEL13LObHEL14LOc是否可能输入?如果是,您希望结果是HEL12LO、HEL14LO还是HEL13LOHEL14LO?对于我的使用,我只需要最后一个:您的输入中是否有多个版本的HEL*LO?如果是,是否要保留所有这些?aHEL13LObHEL14LOc是否可能输入?如果是,您希望结果是HEL12LO、HEL14LO还是HEL13LOHEL14LO?供我使用,我只需要最后一个:你在开玩笑吧?您的代码将保留所有这些输入:HkjshdfshhsdkjhfO。不好。@Bohemian我在回答中明确提到,如果字符串是OP提到的类型,周围的字母是类似于OPie小盒子给出的示例中的类型。也就是说,我从来没有说过这是解决办法。我只是说这是OP提出的具体案例的替代方案:-谢谢这对我来说真的很有用这是一个只适用于非常窄范围的情况的解决方案:例如abcHOdef->HO,abcH123456Odef->H123465O,ghiHabcHEL123LOdefOxyz->HabcHEL123LOdefO,所有这些似乎都不是问题所要求的。这就是所谓的脆弱解决方案。你在开玩笑吧?您的代码将保留所有这些输入:HkjshdfshhsdkjhfO。不好。@Bohemian我在回答中明确提到,如果字符串是OP提到的类型,周围的字母是类似于OPie小盒子给出的示例中的类型。也就是说,我从来没有说过这是解决办法。我只是说这是OP提出的具体案例的替代方案:-谢谢这对我来说真的很有用这是一个只适用于非常窄范围的情况的解决方案:例如abcHOdef->HO,abcH123456Odef->H123465O,ghiHabcHEL123LOdefOxyz->HabcHEL123LOdefO,所有这些似乎都不是问题所要求的。这就是所谓的脆弱解决方案。