我需要用“FF432423FA112”之類的字串中的數字替換多個文字。“A”=0,“B”=1 等。我嘗試過像這樣回圈,但它沒有用。也嘗試使用 char 陣列
String test = "FF432423FA112";
String[] letters = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
for (int i=0; i<letters.length; i ) {
newStr = test.replace(letters[i],i);
}
uj5u.com熱心網友回復:
那是因為你忘記使用了newStr.replace
,每次回圈都會生成最后一個test.replace
復制字符
String test = "FF432423FA112";
String[] letters = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
String newStr = test;
for (int i=0; i<letters.length; i ) {
newStr = newStr.replace(letters[i], i "");
}
System.out.println(newStr);
uj5u.com熱心網友回復:
如果給定的字串是“FF432423FA112”并且預期的輸出是“5543242350112”,考慮到只替換字母并保留數字,下面的代碼就是一個例子。
public class Main {
public static void main(String[] args) {
String test = "FF432423FA112";
String letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
StringBuilder output = new StringBuilder();
int value = 0;
for (int i=0; i<test.length(); i ) {
char c = test.charAt(i);
if(Character.isDigit(c)) {
value = Character.getNumericValue(c);
} else {
value = letters.indexOf(c);
}
output.append(value);
}
System.out.println(output);
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/529598.html
標籤:爪哇
上一篇:流查找第一個多個選項