我需要将String变量重命名为
String name = 20161018_175737_groupX_nameY.png;
进入
String name = Background_groupX_nameY.png;
任何形式的帮助都是值得欣赏的。
感谢。
答案 0 :(得分:1)
正则表达式将为您提供最佳帮助:
name = name.replaceFirst("\\d+_\\d+", "Background");
答案 1 :(得分:1)
试试这个..
String name = "20161018_175737_groupX_nameY.png";
name = name.substring(name.indexOf("_",name.indexOf("_")+1),name.length());
System.out.print("Background"+name);
答案 2 :(得分:0)
您可以使用正则表达式来标识数字序列,后跟下划线,后跟另一个数字序列,后跟另一个下划线,并将其替换为空字符串:
name = name.replaceFirst("\\d+_\\d+_", "");
答案 3 :(得分:0)
您可以使用正则表达式查找需要替换的字符串部分
String name = "20161018_175737_groupX_nameY.png";
String matchString="";
for(int index=0;index<name.length();index++){
if(name.substring(0,index).matches("^[0-9]+[\\_]{1}[0-9]+[\\_]{1}$")){
matchString=name.substring(0,index);
break;
}
}
name=name.replaceFirst(matchString,"Background_");
答案 4 :(得分:0)
谢谢你们。有很多解决方案。这是我的。
StringBuffer strBffer= new StringBuffer(fileName);
strBffer.replace(0, 15, "Background");
String newName = strBffer.toString();
答案 5 :(得分:0)
name.replaceFirst("^.*(?=(_groupX_nameY.png))", "background");