本文目錄一覽:
JAVA字符串解析
給代碼,把文本存在input.txt里
import java.io.File;
import java.io.FileNotFoundException;
import java.util.*;
public class demo {
public static void main(String[] args) throws FileNotFoundException {
MapString, MapString, ListString map = new HashMapString, MapString, ListString();
Scanner sc = new Scanner(new File(“input.txt”));
String outerKey = new String();
while(sc.hasNext()) {
String line = sc.nextLine();
if(line.startsWith(“POS:”)) {
outerKey = line.replace(“:”, “”);
if(!map.containsKey(outerKey)) {
map.put(outerKey, new HashMapString, ListString());
}
} else if(line.startsWith(“MAC”)) {
String[] lines = line.split(“:”);
MapString, ListString innerMap = map.get(outerKey);
if(innerMap.containsKey(lines[0])) {
innerMap.get(lines[0]).add(lines[1]);
} else {
ListString list = new ArrayListString();
list.add(lines[1]);
innerMap.put(lines[0], list);
}
}
}
sc.close();
StringBuilder sb = new StringBuilder();
for(String outerkey : map.keySet()) {
sb.append(outerkey + “\n”);
MapString, ListString innerMap = map.get(outerkey);
for(String innerkey : innerMap.keySet()) {
sb.append(innerkey + “:”);
for(String value : innerMap.get(innerkey)) {
sb.append(value + ” “);
}
sb.append(“\n”);
}
}
System.out.println(sb.toString());
}
}
運行結果:
POS1
MAC2:A2 A22
MAC1:A1 A11
MAC3:A3 A33
POS2
MAC2:B2 B22
MAC1:B1 B11
MAC3:B3 B33
java中怎麼把字符串解析成10進制數
java.lang.Integer中有一個方法:valueOf(String s,int radix),其中s為傳入的參數,radix為要將這個字符串中每一個數將被識別成什麼進制的數,不過無論字符串中的每一位被是識別成什麼都不重要,結果是它都轉換成了10進制數。比如:
定義一個字符串val s:String = “924”
再定義一個變量val z = Integer.valueOf(s,10),即可把字符串s中每一位數識別為10進制數,即‘9’就是十進制中的9,‘2’就是十進制中的2,‘4’就是10進制中的4,所以最後轉換成10進制數依舊為924
但是如果將變量z定義成val z = Integer.valueOf(s,16),即可把字符串s中每一位數識別為16進制數,即‘9’就是16進制中的9,‘2’就是16進制中的2,‘4’就是16進制中的4,所以轉換成10進制數為2340
Java解析字符串
importnet.sf.json.JSONArray;importnet.sf.json.JSONObject;publicclassTest{ publicstaticvoidmain(String[]args)throwsException{ Stringstr=”{\”id\”:[\”fdsfadf\”,\”hgfhhgjghj\”,\”gfhfghfghgf\”]}”; JSONObjectjb=JSONObject.fromObject(str); JSONArrayja=jb.getJSONArray(“id”); for(inti=0;i
java解析字符串
package com;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
public class Yuma
{
private ListMap analysisConfig(String config)
{
String[] arr = config.split(“;”);
String reg = “([^\\(]+)(\\([^\\)]*\\))”;
ListMap list = new LinkedListMap();
for(int i = 0; i arr.length; i++)
{
String tmp = arr[i];
MapString, String map = new HashMapString, String();
map.put(tmp.replaceAll(reg, “$1”), tmp.replaceAll(reg, “$2”));
list.add(map);
}
return list;
}
public static void main(String[] args)
{
String ruleConfig = “債券(0000,1200,1100);非標資產(0100);質押式回購(0123@質押式正回購,0123@質押式逆回購)”;
Yuma yuma = new Yuma();
ListMap list = yuma.analysisConfig(ruleConfig);
System.out.println(list);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/152992.html