Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中更改字符串_Java_Android_String_Variables_Substring - Fatal编程技术网

如何在Java中更改字符串

如何在Java中更改字符串,java,android,string,variables,substring,Java,Android,String,Variables,Substring,我需要重命名字符串变量,如下所示 String name = 20161018_175737_groupX_nameY.png; 进入 任何形式的帮助都是非常感谢的 谢谢。您可以使用正则表达式来标识一个数字序列,后跟一个下划线,后跟另一个数字序列,后跟另一个下划线,并将其替换为空字符串: name = name.replaceFirst("\\d+_\\d+_", ""); 正则表达式将为您提供最佳帮助: name = name.replaceFirst("\\d+_\\d+", "Bac

我需要重命名字符串变量,如下所示

String name = 20161018_175737_groupX_nameY.png;
进入

任何形式的帮助都是非常感谢的


谢谢。

您可以使用正则表达式来标识一个数字序列,后跟一个下划线,后跟另一个数字序列,后跟另一个下划线,并将其替换为空字符串:

name = name.replaceFirst("\\d+_\\d+_", "");

正则表达式将为您提供最佳帮助:

 name = name.replaceFirst("\\d+_\\d+", "Background");
试试这个

String name = "20161018_175737_groupX_nameY.png";
name = name.substring(name.indexOf("_",name.indexOf("_")+1),name.length());
System.out.print("Background"+name);

可以使用正则表达式查找需要替换的字符串部分

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_");
String name=“20161018\u 175737\u groupX\u nameY.png”;
字符串匹配字符串=”;

对于(int index=0;index谢谢大家。有很多解决方案。这是我的一个

StringBuffer strBffer= new StringBuffer(fileName);
strBffer.replace(0, 15, "Background");
String newName = strBffer.toString();
  • 如果可替换部分不一致(可以是不带下划线的数字),但_groupX_nameY.png是常量,则您可以:
  • 它选择所提供字符串(本例中不包括“\u groupX\u nameY.png”)之前的所有内容,并将其替换为“background”

name.replace(“20161018_175737”,“Background”);尝试更好地解释一下……因为对于您提出的问题,可能有90909085414093425894种解决方案……这应该是RHS上的一个刺痛文字吗?
StringBuffer strBffer= new StringBuffer(fileName);
strBffer.replace(0, 15, "Background");
String newName = strBffer.toString();
name.replaceFirst("^.*(?=(_groupX_nameY.png))", "background");