【发布时间】:2018-01-18 17:14:20
【问题描述】:
我有这样的字符串
String s1 = "2999.1049.00_GRB.1";
String s2 = "my File.txt.txt";
我想用“_1”替换最后一个“.1”,用“_txt”替换“.txt”
字符串的结果应该是
s1 = "2999.1049.00_GRB_1" and s2 = "my File.txt_txt"
我该怎么做。我知道替换第一次出现的字符串。但不知道如何替换最后出现的字符串。
【问题讨论】:
-
使用 lastIndexOf?
-
这个问题并没有证明你的研究成果太多。
-
您的问题仅包含要求 - 它并未显示您为自己解决此问题所做的任何努力。请在此问题中添加您的尝试 - 因为该站点不是免费的“我们为您提供(家庭)工作”服务。除此之外:请转至help center 了解如何/在这里问什么。谢谢!
-
您可以使用
System.out.println("***"+s1.substring(0,s1.lastIndexOf(".")) +"_"+s1.substring(s1.lastIndexOf(".")+1));它适用于s1和s2 -
另一个答案
class abc { public static void main(String[] args) { String s1= "2999.1049.00_GRB.1"; int i=s1.lastIndexOf("."); StringBuilder myName = new StringBuilder(s1); myName.setCharAt(i, '_'); System.out.println(myName); } }使用lastIndexOf.和replace这个索引由_使用StringBuilder。