How to use String.split() to get all the separate words including the delimit (Java)
2017-12-26 17:51
357 查看
Today, I was trapped to saperate a string via different delimits while keeping the order of the words.
I tried StringTokenizer, but it is obsolete and might not be supported in later versions.
Some other references point to String.split(), but it will not preserve the delimits.
Several attempts are taken such as to overload the source split().
I found it annoying so tried a new way.
1. enrich my source string with spaces (you may do with any charactor you like), to provide extra delimits.
2. use String.split(" *") to separate the source string. Attention, the regex is formed of a space and a star.
3. enjoy your String[].
I tried StringTokenizer, but it is obsolete and might not be supported in later versions.
Some other references point to String.split(), but it will not preserve the delimits.
Several attempts are taken such as to overload the source split().
I found it annoying so tried a new way.
1. enrich my source string with spaces (you may do with any charactor you like), to provide extra delimits.
2. use String.split(" *") to separate the source string. Attention, the regex is formed of a space and a star.
3. enjoy your String[].
public static String prepareString(String s) throws Exception { char[] cArray = s.toCharArray(); String result =""; for(int i=0;i<cArray.length-1;i++){ String sTemp = ""+cArray[i]; boolean isFisrtDot = false; if(cArray[i]>='A'&&cArray[i]<='Z'||cArray[i]>='a'&&cArray[i]<='z'){ while(cArray[i+1]>='A'&&cArray[i+1]<='Z'||cArray[i+1]>='a'&&cArray[i+1]<='z') { sTemp+=cArray[i+1]; i++; if(i==cArray.length-1) break; } }else if(cArray[i]<='9'&&cArray[i]>='0'){ while(cArray[i+1]<='9'&&cArray[i+1]>='0'||cArray[i+1]=='.'){ sTemp+=cArray[i+1]; if(cArray[i+1]=='.'&&isFisrtDot == false) isFisrtDot=true; else if (cArray[i+1]=='.'&&isFisrtDot == true){ throw new Exception("Error: too many dots in value."); } i++; if(i==cArray.length-1) break; } } result+=sTemp+" "; } return result; }
相关文章推荐
- How To get the Real length of a string with chinese words
- How to get the query string by javascript?
- How to get the query string by javascript?
- How to use C# code to get the windows components
- 【获取、高亮UIWebView中选择的文本】How To Mark Or Get The Highlighted String Inside UIWebView
- [Java Tips] How to Use StringTokenizer in Java?
- How to use script to get all Oracle EBS Concurrent Program/Report name and corresponding execution f
- Java How to get the PID from a process?
- how to get the default maximum heap size for Sun's JVM from Java SE 6 or 7
- How To Mark Or Get The Highlighted String Inside UIWebView
- How to get the media length use directshow
- How to get the query string by javascript?
- 编写高质量代码改善java程序的151个建议——[52-57]String !about String How to use them?
- [JNI] How to get the java's native method body?
- 编写高质量代码改善java程序的151个建议——[52-57]String !about String How to use them?
- How to get the SVN info use ANT
- How to use script to get all oracle EBS Form name and corresponding fmb file name
- 编写高质量代码改善java程序的151个建议——[52-57]String !about String How to use them?
- Learn How TO Use SSH To Get Through the GFW
- string - How to get the filename without the extension from a path in Python? - Stack Overflow