本文目录一览:
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);
}
}