Java 替换字符串的特定位置
我有一个固定长度的字符串记录,我想用不同的字符串值替换特定位置的字符串Java 替换字符串的特定位置,java,string,str-replace,Java,String,Str Replace,我有一个固定长度的字符串记录,我想用不同的字符串值替换特定位置的字符串 String record ="ABCU0MARK 111111118 CFTT 130913 101100023424"; String extractAccountaccountNumber = record.substring(79, 87); String newAccountNumber = "some value" record = record
String record ="ABCU0MARK 111111118 CFTT 130913 101100023424";
String extractAccountaccountNumber = record.substring(79, 87);
String newAccountNumber = "some value"
record = record.replaceFirst(extractAccountaccountNumber,newAccountNumber);
如果存在重复的值,这可能不起作用。请注意您只需将其分配给一个新的字符串变量,或分配给其自身:
string = string.replace("to", "xyz");
或
结果如下:
提取帐号:FTT结果:ABCU0MARK 11111111 8 Csome值130913 1011000023424
record=record.substring(0,79)+newAccountNumber+record.substring(87)代码>不起作用?我编写了一个类,它的字段中包含所有固定长度值的setter-getter方法。它有两个方法,populateFromString(String recordStr)和getRecordsString();一旦我填充了对象,我就可以替换这些值并取回字符串。你的建议行不通,因为如果“to”也在其他位置,我会替换多个位置,而且字符串中的数字很可能重复。mmc18:我有相同的代码,你写的代码。我唯一担心的是,如果字符串中的同一组数字存在于任何其他固定长度的位置,比如在我要替换的位置之前,它将不起作用。它将替换错误的位置。可能是关于记录的长度
String newString = string.replace("to", "xyz");
public class Run1 {
public static final int its = 4;
public static void main(String[] args) {
String record ="ABCU0MARK 111111118 CFTT 130913 101100023424";
String extractAccountaccountNumber = record.substring(46, 55);
System.out.println("extractAccountaccountNumber:"+extractAccountaccountNumber);
String newAccountNumber = "some value";
String result=record.replaceFirst(extractAccountaccountNumber,newAccountNumber);
System.out.println("result:"+result);
}
}