关于Java实现去除连续空格的延伸
生活随笔
收集整理的這篇文章主要介紹了
关于Java实现去除连续空格的延伸
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
第一篇隨筆,技術含量比較低,當做筆記給自己記錄一下現階段的一次學習。(*^__^*) ……
?
Java中去除連續空格的代碼很簡單:
public static String formatString(String sourceString) {return sourceString.replaceAll(" +", " ");} View Code比如輸入字符串"a ?b ? c ? ?d",則經過調用函數處理可以輸出"abcd"。replaceAll(" +","")是去除所有連續空格,還可以用replaceAll("\\s+","")匹配空格、制表符、換頁符等其中任意一種空白字符,去除所有連續空白字符。
然而看到網上有帖子說replaceAll方法效率比較低,于是慢慢研讀了一下,可以對這個代碼進行優化。
static public String spaceCharacter(String sourceString) {if (sourceString != null) {int len = sourceString.length();if (len > 0) {char[] dest = new char[len];int destPos = 0;for (int i = 0; i < len; ++i) {char c = sourceString.charAt(i);if (!Character.isWhitespace(c)) {dest[destPos++] = c;}}return new String(dest, 0, destPos);}}return sourceString;} View Code這個代碼究竟怎么出來的,可以看看這個博文:http://www.2cto.com/kf/201406/309388.html
經過優化后的代碼執行效率確實比直接replaceAll要高一些。
(ps:還有一個小東西,關于for循環的i++和++i的問題,有篇for循環中i++與++i的效率探究,但是作者不讓轉載就不貼這里了~只能自己搜啦)
轉載于:https://www.cnblogs.com/-Yvan/p/4872229.html
總結
以上是生活随笔為你收集整理的关于Java实现去除连续空格的延伸的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Android】Mac Android
- 下一篇: 老李案例分享:Weblogic性能优化案