62,621
社区成员
发帖
与我相关
我的任务
分享import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MessageProcess {
private static Pattern vkP = Pattern.compile("(name)=\\\"\\(([\\d+|,]+)\\)\"");
private static Pattern kP = Pattern.compile("\\<line\\s+([\\w|=|\"|\\\\|\\s]+)/\\>");
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream("test.txt")));
String content;
while((content = br.readLine()) != null){
Matcher matcher = vkP.matcher(content);
while(matcher.find()){
content = content.replace(matcher.group(0), String.format("%s=\"%s\"", matcher.group(1), matcher.group(2)));
}
matcher = kP.matcher(content);
while(matcher.find()){
String[] tempS = matcher.group(1).split("\\s+");
StringBuffer sb = new StringBuffer("<line");
for(String s: tempS){
String ds = s.trim();
if(ds.startsWith("dx=") || ds.startsWith("dy=")){
} else {
sb.append(" ").append(ds);
}
}
sb.append("/>");
content = content.replace(matcher.group(0), sb.toString());
}
System.out.println(content);
}
br.close();
}
}
如果有不明白的,私Mail吧