gpt4 book ai didi

java - 正确使用 String lastIndexOf

转载 作者:行者123 更新时间:2023-12-01 09:26:04 27 4
gpt4 key购买 nike

我有字符串 String str ="12,123 123!abc123.abc",.! 分隔符,我想删除最后 123。如果我使用 StringBuffer str1c = new StringBuffer(str) 并使用 int last = str1c.lastIndexOf("123") 我会得到last = 14。但这是错误的,因为想要获取索引清晰的“123”,附近没有任何字母。我想做 str1c ="12,123 !abc123.abc"

最佳答案

您将需要使用正则表达式,并且由于您只需要替换最后一个匹配项,因此您需要使用 StringBuilder#reverse() 反转所有内容。并使用反向正则表达式,因此我们不使用\b123\b,而是使用\b321\b,因此您的最终代码将是:

String result = new StringBuilder(
new StringBuilder(str).reverse().toString().replaceFirst("\\b321\\b", "")
).reverse().toString();
System.out.println(result);

输出:

12,123 !abc123.abc

关于java - 正确使用 String lastIndexOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39819834/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com