JAVA 如何用部分空格分割字符串,急!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA 如何用部分空格分割字符串,急!相关的知识,希望对你有一定的参考价值。
比如:Jun 10 04:03:20 iomc2312 时间里的空格不分割,但是时间与iomc231要分割开来
这只是个例子,主要是在一行字符串里,我需要分割字符串放到arraylist中去,但是只用split的话所有的空格都会被分割,而有些内容本身含有空格,不能被分割的,就这个比较纠结。数据是从服务器读取的,本身不能改
String[] b = a.split("(?<=\\D)\\s+(?=\\d)|(?<=\\d)\\s+(?!\\d)");追问
?<=\\D)\\s+(?=\\d)|(?<=\\d)\\s+(?!\\d)这个转义字符的部分能否解释下,谢谢
追答按照你目前的示列就是
1.前面不是数字后面是数字的
2.前面是数字后面不是数字的就拆。
这只是个例子,不一定是这样的,我给你看个具体的吧
Jun 10 04:03:21 iomc2312 ran_pm_collect: ER thr=3062713232 PMCollect_Manager.cpp, line6255: PMCollect_Manager::getIORonPMServer(): ran_pm_collect ERR_00020401: Request: Connection Error(Failed to get IOR.(PF_PM_DBMgr/PMCategoryTableOpeIF))
那你也要指定一个规则,什么样的才拆分
追问Jun 10 04:03:21
iomc2312
ran_pm_collect: ER
thr=3062713232 PMCollect_Manager.cpp, line6255: PMCollect_Manager::getIORonPMServer(): ran_pm_collect
ERR_00020401: Request: Connection Error(Failed to get IOR.(PF_PM_DBMgr/PMCategoryTableOpeIF))
这么分割
你这个有点太范化了,能保证空格前面后面都有哪些字母不。
列入thr,PMCollect,ERR都是必须有的
String a="Jun 10 04:03:21 iomc2312 ran_pm_collect: ER thr=3062713232 PMCollect_Manager.cpp, line6255: PMCollect_Manager::getIORonPMServer(): ran_pm_collect ERR_00020401: Request: Connection Error(Failed to get IOR.(PF_PM_DBMgr/PMCategoryTableOpeIF))";
String[] b = a.split("\\s+(?=(iom|thr|PMCollect_Manager::|ERR))");
嗯,这个方法行得通,稍微改下OK了,分给你了~
参考技术A String a="Jun 10 04:03:20 iomc2312";int i = a.lastIndexOf(" ");
System.out.println(a.substring(0, i));
System.out.println(a.substring(i+1)); 参考技术B String中的 indexof取最后一个“ ”的位置 然后用subString 取的2个 子字符串追问
我去试试看
参考技术C 不明白什么意思,时间字符和iomc加起来不就行,时间字符后面或者iomc前加个空格不就行了 参考技术D formatter 第5个回答 2012-06-13 日期格式化问题吧?说说你要分割的理由。要是日期格式化用SimpleDateFormat追问就是以空格分割字符串的时候要保留内容本身含有的空格,如:name sex home address中的home address是连一起的,中间的空格不能被分割
追答分了之后再组装吧,你怎么能确定那个空格是你要使用分割的,是主要问题
追问就是这个问题呀,我需要取出来与结构体中的数据做比较,原来配置文件是用逗号分割的所以不会有这个问题,但是服务器的日志数据是以空格分割的
第6个回答 2012-06-13 这个问题无解 你不知道哪个空格是你要保留的 要保留的空格和作为分隔符的空格还是一样的 你总点有个规则才能处理 想想还有什么规则追问服务器的日志就是这么写的,我知道哪个需要哪个不要,因为分割之后我会把数据扔进arraylist当中
如何用逗号和空格java分割表达式
例如,源数据:
some blabla, sentence, example
等待结果:
[some,blabla,sentence,example]
我可以用逗号分隔,但不知道如何用逗号和空格分割?
我的源代码,到目前为止:
string.split("\s*,\s*")
您可以使用一组字符作为分隔符,如Pattern中所述
String string = "One step at,,a, time ,.";
System.out.println( Arrays.toString( string.split( "[\s,]+" )));
输出:
[One, step, at, a, time, .]
s:空格字符:[ t n x0B f r n]
[abc]:a,b或c(简单类)
贪心量词X +:X,一次或多次
解:
String.split("[ ,]+"); // split on on one or more spaces or commas
[]
- 简单的角色类
[, ]
- 包含空格或逗号的简单字符类
[ ,]+
- 空格或逗号出现一次或多次
例:
String source = "A B C,,D, E ,F";
System.out.println(Arrays.toString(source.split("[, ]+")));
输出:
[A, B, C, D, E, F]
以上是关于JAVA 如何用部分空格分割字符串,急!的主要内容,如果未能解决你的问题,请参考以下文章
如何用空格分割字符串,不包括Python中双引号之间的空格? [复制]