因此,我對java字符串方法並不十分熟悉,我不確定是否有簡單的方法來執行此操作。我有一個字符串,其中包含用「:」分隔的幾個值,每對通過另一個分隔符「」隔開。例如:根據java中的一定條件獲取兩個不同分隔符之間的特定子字符串
AA:BB,CC:DD,XX:YY,EE:FF
映射是「from」和「to」的值。基於一個條件,我得到「from」值,讓我們以「XX」爲例,並且我想在這種情況下檢索「to」值「YY」。
我不太確定該怎麼做。任何幫助將不勝感激。
謝謝:)
因此,我對java字符串方法並不十分熟悉,我不確定是否有簡單的方法來執行此操作。我有一個字符串,其中包含用「:」分隔的幾個值,每對通過另一個分隔符「」隔開。例如:根據java中的一定條件獲取兩個不同分隔符之間的特定子字符串
AA:BB,CC:DD,XX:YY,EE:FF
映射是「from」和「to」的值。基於一個條件,我得到「from」值,讓我們以「XX」爲例,並且我想在這種情況下檢索「to」值「YY」。
我不太確定該怎麼做。任何幫助將不勝感激。
謝謝:)
您可以將字符串轉換成地圖:
String[] items = string.split(",");
Map<String, String> map = new HashMap<String, String>();
for (String item : items) {
String[] split = item.split(":");
map.put(split[0], split[1]);
}
基本上,你兩次拆分字符串。首先,將其分解成單獨的鍵值對,並將其與split(",")
分開,然後遍歷所有這些對。我們再次分割每一對,這次是冒號,然後將值存儲在鍵值映射中,該映射將字符串鍵映射到字符串值。
然後,您可以讀取地圖的值,像這樣:
map.get(key);
例如,使用您的數據。例如:
System.out.println(map.get("CC")); // prints "DD"
下面是一個例子,你如何能做到這一點。我在我的例子中使用整數,但是你可以改變它很容易。
import java.util.ArrayList;
import java.util.List;
class Value {
int from;
int to;
Value(int from,int to){
this.from = from;
this.to = to;
}
//getter && setter
}
public class Test {
public static void main(String[] args) {
String input = "12:13,11:12,12:12,134:413";
String[] values = input.split(",");
List<Value> parsedValues = new ArrayList();
for(String value:values){
String[] split = value.split(":");
parsedValues.add(new Value(new Integer(split[0]).intValue(),new Integer(split[1]).intValue()));
}
}
}
謝謝:)工作 – wassim
謝謝:)它的工作 – wassim