java replace方法
java替换所有相同字符_java–重复替换String中的字符
我正在尝试创建⼀个Android应⽤程序,它将正常的⼗六进制代码转换为在smali中使⽤的倒置代码.⼀切都很完美,除了当我在String上使⽤replace或replaceAll⽅法时,它甚⾄替换已经替换的字符
例如,
String stringInvert = place("F", "0")
.replace("E" , "1")
.replace("D" , "2")
.replace("C" , "3")
.replace("B" , "4")
.replace("A" , "5")
.replace("9" , "6")
.replace("8" , "7")
.replace("7" , "8")
.replace("6" , "9")
.replace("5" , "A")
.replace("4" , "B")
.replace("3" , "C")
.replace("2" , "D")
.replace("1" , "E")
.replace("0" , "F");
正如您所看到的那样,第⼀个F被更改为0,同样其他字母也被更改,但是后来0更改为F,这也将已经更改的F更改回F.所以,总⽽⾔之,只有字母/数字在7之前被反转(因为它们在代码之后被替换)⽽其他因为双重反转⽽保持相同.我甚⾄尝试过replaceAll⽅法,它给出了相同的结果.那么有没有其他⽅法或解决这个问题?
对不起,如果代码很丑,我在AIDE中做到了
谢谢
解决⽅法:
你可以创建⼀个Map< Character,Character>这将保存您的映射.
然后只需迭代其他原始字符串.
Map m = new HashMap<>();
m.put('F','0');
....
StringBuilder sb = new StringBuilder();
for(char c : CharArray()){
sb.(UpperCase(c)));
}
String finalString = sb.toString();
标签:java,android,string
来源: /bug/20190612/1226300.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。