如何在Java中更改String

时间:2016-10-18 12:37:15

标签: java android string variables substring

我需要将String变量重命名为

String name = 20161018_175737_groupX_nameY.png;

进入

String name = Background_groupX_nameY.png;

任何形式的帮助都是值得欣赏的。

感谢。

6 个答案:

答案 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)

  • 如果可替换零件不均匀(可以是带有下划线的数字),但_groupX_nameY.png是常量,那么您可以:
name.replaceFirst("^.*(?=(_groupX_nameY.png))", "background");
  • 选择所提供字符串的所有内容(本例不包括&#39; _groupX_nameY.png&#39;)并将其替换为&#39; background&#39;