java字符串分隔
DYNFLIGHT#A###2012/07/02 14:42:54#START#186###,以上字符串需要获取#号之间的内容,使用String的split方法不用分隔多个连续#号,请问有什么方法能分多个连续的#号,#号与#号之间没有值的时侯我希望能返回null。
[解决办法]
没读懂你是什么意思,
"#号与#号之间没有值的时侯"split方法返回的是"",
你直接替换成null不就行了,
或者你是想要输出
DYNFLIGHT,A,2012/07/02 14:42:54,START,186
这样?
[code=java]
String str = "DYNFLIGHT#A###2012/07/02 14:42:54#START#186###";
String[] temp = str.split("#+");
for(String s : temp){
System.out.print(s + ",");
}
[/code]
[解决办法]
你看能用不
- Java code
public static void main(String[] args) { String str = "DYNFLIGHT#A###2012/07/02 14:42:54#START#186###"; Pattern pattern = Pattern.compile("#"); Matcher matcher = pattern.matcher(str); List<String> list = new ArrayList<String>(); int startIndex = 0; while(matcher.find()){ int endIndex = matcher.start(); //这里可以判断str.substring(startIndex, endIndex).length() == 0替换成null list.add(str.substring(startIndex, endIndex)); startIndex = endIndex + 1; } for(String s : list){ System.out.print(s +","); } }