有一個像A = B & C = d & E = F,如何辨別它解析爲地圖的字符串?如何解析字符串轉換成地圖
8
A
回答
23
我會用分裂
String text = "A=B&C=D&E=F";
Map<String, String> map = new LinkedHashMap<String, String>();
for(String keyValue : text.split(" *& *")) {
String[] pairs = keyValue.split(" *= *", 2);
map.put(pairs[0], pairs.length == 1 ? "" : pairs[1]);
}
EDIT允許填充空間,並與=
或沒有的值。例如
A = minus- & C=equals= & E==F
1
String t = A=B&C=D&E=F;
Map map = new HashMap();
String[] pairs = t.split("&");
//TODO 1) Learn generis 2) Use gnerics
for (String pair : pairs)
{
String[] kv = pair.split("=");
map.put(kv[0], kv[1]);
}
2
分割字符串(使用一個或StringTokenizer
String.split()
)上 '&'。在每個令牌上再次分開'='。使用第一部分作爲鍵,第二部分作爲值。
它也可以使用正則表達式來完成,但問題是真正爲StringTokenizer
很簡單。
5
public class TestMapParser {
@Test
public void testParsing() {
Map<String, String> map = parseMap("A=B&C=D&E=F");
Assert.assertTrue("contains key", map.containsKey("A"));
Assert.assertEquals("contains value", "B", map.get("A"));
Assert.assertTrue("contains key", map.containsKey("C"));
Assert.assertEquals("contains value", "D", map.get("C"));
Assert.assertTrue("contains key", map.containsKey("E"));
Assert.assertEquals("contains value", "F", map.get("E"));
}
private Map<String, String> parseMap(final String input) {
final Map<String, String> map = new HashMap<String, String>();
for (String pair : input.split("&")) {
String[] kv = pair.split("=");
map.put(kv[0], kv[1]);
}
return map;
}
}
4
只是用番石榴分配器
String src="A=B&C=D&E=F";
Map map= Splitter.on('&').withKeyValueSeparator('=').split(src);
相關問題
- 1. 解析字符串轉換成字典
- 2. 如何解析字符串轉換成字典
- 3. 如何解析字符串轉換成字節[]
- 4. 如何解析字符串轉換成DateTime對象和Django
- 5. 的Android從AP字符串是如何解析轉換成int
- 6. 如何解析字符串轉換成JavaScript
- 7. 如何解析字符串轉換成JSON
- 8. 如何解析字符串轉換成元組
- 9. 不能把字符串轉換成整數,而解析谷歌地圖API
- 10. 轉換/解析Float64到字符串
- 11. 轉換和解析數據字符串
- 12. 如何轉換地圖[字符串,序列[字符串]以地圖[字符串,字符串]
- 13. 如何安全地解析字符串?
- 14. 解析特殊字符並轉換爲HTML(轉義字符串)
- 15. 解析日期字符串(字符串轉換爲日期)
- 16. 轉換列表轉換成地圖<字符串,地圖<字符串,整數>> java8流
- 17. 解析不均勻的字符串轉換成整數
- 18. 解析字符串數組轉換成int矩陣
- 19. 解析CSV文件轉換成字符串
- 20. 解析字符串轉換成XML Powershell的
- 21. 我怎麼可以轉換解析成字符串
- 22. 解析ASCII文本字符串轉換成獨立的變量
- 23. 解析字符串轉換成類層次結構
- 24. 轉換scala地圖字符串 - >字符串轉換爲字符串 - >地圖
- 25. 爪哇傑克遜JSON解析成地圖<字符串,字符串>
- 26. 如何簡單地轉換字符串?
- 27. 如何字符串轉換成
- 28. 如何字符串轉換成數組
- 29. 如何字符串轉換成JSON
- 30. 如何將字符串成char []轉換
+1。在編寫相同的代碼的過程中。部分取決於檢查代碼需要做多少錯誤。這是玩具代碼嗎?這是否需要複製嚴重形成的輸入等?這裏代碼會給arrayIndexException如果沒有「=」的例子,但可能是在方案中就好了。 – 2011-03-01 10:39:59
它將處理的'='中的值,而不是斬波其關閉;) – 2011-03-01 10:42:56
@湯姆,謝謝,增加了一些錯誤處理。 – 2011-03-01 10:45:50