Java中的StringUtils引入及使用示例教程
Java中的StringUtils引入及使用
pom.xml中引入依賴
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.9</version> </dependency>
字符串處理(StringUtils)
//縮短到某長(zhǎng)度,用...結(jié)尾.其實(shí)就是(substring(str, 0, max-3) + "...") //public static String abbreviate(String str,int maxWidth) StringUtils.abbreviate("abcdefg", 6);// ---"abc..." //字符串結(jié)尾的后綴是否與你要結(jié)尾的后綴匹配,若不匹配則添加后綴 StringUtils.appendIfMissing("abc","xyz");//---"abcxyz" StringUtils.appendIfMissingIgnoreCase("abcXYZ","xyz");//---"abcXYZ" //首字母大小寫轉(zhuǎn)換 StringUtils.capitalize("cat");//---"Cat" StringUtils.uncapitalize("Cat");//---"cat" //字符串?dāng)U充至指定大小且居中(若擴(kuò)充大小少于原字符大小則返回原字符,若擴(kuò)充大小為 負(fù)數(shù)則為0計(jì)算 ) StringUtils.center("abcd", 2);//--- "abcd" StringUtils.center("ab", -1);//--- "ab" StringUtils.center("ab", 4);//---" ab " StringUtils.center("a", 4, "yz");//---"yayz" StringUtils.center("abc", 7, "");//---" abc " //去除字符串中的"\n", "\r", or "\r\n" StringUtils.chomp("abc\r\n");//---"abc" //判斷一字符串是否包含另一字符串 StringUtils.contains("abc", "z");//---false StringUtils.containsIgnoreCase("abc", "A");//---true //統(tǒng)計(jì)一字符串在另一字符串中出現(xiàn)次數(shù) StringUtils.countMatches("abba", "a");//---2 //刪除字符串中的梭有空格 StringUtils.deleteWhitespace(" ab c ");//---"abc" //比較兩字符串,返回不同之處。確切的說是返回第二個(gè)參數(shù)中與第一個(gè)參數(shù)所不同的字符串 StringUtils.difference("abcde", "abxyz");//---"xyz" //檢查字符串結(jié)尾后綴是否匹配 StringUtils.endsWith("abcdef", "def");//---true StringUtils.endsWithIgnoreCase("ABCDEF", "def");//---true StringUtils.endsWithAny("abcxyz", new String[] {null, "xyz", "abc"});//---true //檢查起始字符串是否匹配 StringUtils.startsWith("abcdef", "abc");//---true StringUtils.startsWithIgnoreCase("ABCDEF", "abc");//---true StringUtils.startsWithAny("abcxyz", new String[] {null, "xyz", "abc"});//---true //判斷兩字符串是否相同 StringUtils.equals("abc", "abc");//---true StringUtils.equalsIgnoreCase("abc", "ABC");//---true //比較字符串?dāng)?shù)組內(nèi)的所有元素的字符序列,起始一致則返回一致的字符串,若無則返回"" StringUtils.getCommonPrefix(new String[] {"abcde", "abxyz"});//---"ab" //正向查找字符在字符串中第一次出現(xiàn)的位置 StringUtils.indexOf("aabaabaa", "b");//---2 StringUtils.indexOf("aabaabaa", "b", 3);//---5(從角標(biāo)3后查找) StringUtils.ordinalIndexOf("aabaabaa", "a", 3);//---1(查找第n次出現(xiàn)的位置) //反向查找字符串第一次出現(xiàn)的位置 StringUtils.lastIndexOf("aabaabaa", ‘b‘);//---5 StringUtils.lastIndexOf("aabaabaa", ‘b‘, 4);//---2 StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 2);//---1 //判斷字符串大寫、小寫 StringUtils.isAllUpperCase("ABC");//---true StringUtils.isAllLowerCase("abC");//---false //判斷是否為空(注:isBlank與isEmpty 區(qū)別) StringUtils.isBlank(null);StringUtils.isBlank("");StringUtils.isBlank(" ");//---true StringUtils.isNoneBlank(" ", "bar");//---false StringUtils.isEmpty(null);StringUtils.isEmpty("");//---true StringUtils.isEmpty(" ");//---false StringUtils.isNoneEmpty(" ", "bar");//---true //判斷字符串?dāng)?shù)字 StringUtils.isNumeric("123");//---false StringUtils.isNumeric("12 3");//---false (不識(shí)別運(yùn)算符號(hào)、小數(shù)點(diǎn)、空格……) StringUtils.isNumericSpace("12 3");//---true //數(shù)組中加入分隔符號(hào) //StringUtils.join([1, 2, 3], ‘;‘);//---"1;2;3" //大小寫轉(zhuǎn)換 StringUtils.upperCase("aBc");//---"ABC" StringUtils.lowerCase("aBc");//---"abc" StringUtils.swapCase("The dog has a BONE");//---"tHE DOG HAS A bone" //替換字符串內(nèi)容……(replacePattern、replceOnce) StringUtils.replace("aba", "a", "z");//---"zbz" StringUtils.overlay("abcdef", "zz", 2, 4);//---"abzzef"(指定區(qū)域) StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"});//---"wcte"(多組指定替換ab->w,d->t) //重復(fù)字符 StringUtils.repeat(‘e‘, 3);//---"eee" //反轉(zhuǎn)字符串 StringUtils.reverse("bat");//---"tab" //刪除某字符 StringUtils.remove("queued", ‘u‘);//---"qeed" //分割字符串 StringUtils.split("a..b.c", ‘.‘);//---["a", "b", "c"] StringUtils.split("ab:cd:ef", ":", 2);//---["ab", "cd:ef"] StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-", 2);//---["ab", "cd-!-ef"] StringUtils.splitByWholeSeparatorPreserveAllTokens("ab::cd:ef", ":");//-["ab"," ","cd","ef"] //去除首尾空格,類似trim……(stripStart、stripEnd、stripAll、stripAccents) StringUtils.strip(" ab c ");//---"ab c" StringUtils.stripToNull(null);//---null StringUtils.stripToEmpty(null);//---"" //截取字符串 StringUtils.substring("abcd", 2);//---"cd" StringUtils.substring("abcdef", 2, 4);//---"cd" //left、right從左(右)開始截取n位字符 StringUtils.left("abc", 2);//---"ab" StringUtils.right("abc", 2);//---"bc" //從第n位開始截取m位字符 n m StringUtils.mid("abcdefg", 2, 4);//---"cdef" StringUtils.substringBefore("abcba", "b");//---"a" StringUtils.substringBeforeLast("abcba", "b");//---"abc" StringUtils.substringAfter("abcba", "b");//---"cba" StringUtils.substringAfterLast("abcba", "b");//---"a" StringUtils.substringBetween("tagabctag", "tag");//---"abc" StringUtils.substringBetween("yabczyabcz", "y", "z");//---"abc"
隨機(jī)數(shù)生成類(RandomStringUtils)
//隨機(jī)生成n位數(shù)數(shù)字 RandomStringUtils.randomNumeric(n); //在指定字符串中生成長(zhǎng)度為n的隨機(jī)字符串 RandomStringUtils.random(n, "abcdefghijk"); //指定從字符或數(shù)字中生成隨機(jī)字符串 System.out.println(RandomStringUtils.random(n, true, false)); System.out.println(RandomStringUtils.random(n, false, true));
數(shù)字類(NumberUtils)
//從數(shù)組中選出最大值 NumberUtils.max(new int[] { 1, 2, 3, 4 });//---4 //判斷字符串是否全是整數(shù) NumberUtils.isDigits("153.4");//--false //判斷字符串是否是有效數(shù)字 NumberUtils.isNumber("0321.1");//---false
數(shù)組類(ArrayUtils)
//創(chuàng)建數(shù)組 String[] array = ArrayUtils.toArray("1", "2"); //判斷兩個(gè)數(shù)據(jù)是否相等,如果內(nèi)容相同, 順序相同 則返回 true ArrayUtils.isEquals(arr1,arr2); //判斷數(shù)組中是否包含某一對(duì)象 ArrayUtils.contains(arr, "33"); //二維數(shù)組轉(zhuǎn)換成MAP Map map = ArrayUtils.toMap(new String[][] { { "RED", "#FF0000" }, { "GREEN", "#00FF00" }, { "BLUE", "#0000FF" } });
日期類(DateUtils)
//日期加n天 DateUtils.addDays(new Date(), n); //判斷是否同一天 DateUtils.isSameDay(date1, date2); //字符串時(shí)間轉(zhuǎn)換為Date DateUtils.parseDate(str, parsePatterns);
PS:java中StringUtils的引用及用法簡(jiǎn)介
今天在網(wǎng)上查找java中判斷關(guān)于StringUtils的介紹,講得都是一些關(guān)于StringUtils的類的方法介紹,對(duì)于還是小白的我來說一臉懵逼,都不知道如何導(dǎo)入StringUtils這個(gè)類,在編輯器中直接編寫的時(shí)候總是導(dǎo)入的總是com.sun.xml.internal.ws.util.StringUtils這個(gè)類,然后點(diǎn)出來的方法就很懵,下面介紹如何正確導(dǎo)入StringUtils這個(gè)工具類
StringUtils 方法的操作對(duì)象是 Java.lang.String 類型的對(duì)象,是 JDK 提供的 String 類型操作方法的補(bǔ)充,并且是 null 安全的(即如果輸入?yún)?shù) String 為 null 則不會(huì)拋出 NullPointerException ,而是做了相應(yīng)處理,例如,如果輸入為 null 則返回也是 null 等,具體可以查看源代碼)。所以我們首先得導(dǎo)入Jar包,如果你沒有可以去官網(wǎng)下https://commons.apache.org/proper/commons-lang/download_lang.cgi windows下載后綴為.ZIP的,Linux和macOS下載后綴為.gz的文件,下載完解壓,找到名為commons-langx-xxx.jar的Jar包(xxx是版本,版本可能不一樣)復(fù)制到項(xiàng)目Lib包下,這時(shí)我們就能使用StringUtils里面的一些方法了。下面簡(jiǎn)單介紹下常用的方法。
1.判斷某字符串是否為空,為空的標(biāo)準(zhǔn)是 str==null 或 str.length()==0 , public static boolean isEmpty(String str) 示例如下:
StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格作非空處理 StringUtils.isEmpty(" ") = false StringUtils.isEmpty("bob") = false StringUtils.isEmpty(" bob ") = false
2.判斷某字符串是否非空,等于 !isEmpty(String str) ,public static boolean isNotEmpty(String str)。示例如下:
StringUtils.isNotEmpty(null) = false StringUtils.isNotEmpty("") = false StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty(" ") = true StringUtils.isNotEmpty("bob") = true StringUtils.isNotEmpty(" bob ") = true
3.判斷某字符串是否為空或長(zhǎng)度為0或由空白符(whitespace) 構(gòu)成,**public static boolean isBlank(String str) **。示例如下:
StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("\t \n \f \r") = true //對(duì)于制表符、換行符、換頁符和回車符 StringUtils.isBlank() //均識(shí)為空白符 StringUtils.isBlank("\b") = false //"\b"為單詞邊界符 StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false
4.判斷某字符串是否不為空且長(zhǎng)度不為0且不由空白符(whitespace) 構(gòu)成,等于 !isBlank(String str) ,public static boolean isNotBlank(String str) 示例如下:
StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank("\t \n \f \r") = false StringUtils.isNotBlank("\b") = true StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true
剩下的還有很多,有興趣的小伙伴可以自己花時(shí)間研究下。
到此這篇關(guān)于Java中的StringUtils引入及使用的文章就介紹到這了,更多相關(guān)java StringUtils使用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JSON.toJSONString()方法在Java中的使用方法及應(yīng)用場(chǎng)景
- Java中的String不可變性實(shí)現(xiàn)
- Java中的StringTokenizer實(shí)現(xiàn)字符串切割詳解
- Java中的String、StringBuilder、StringBuffer三者的區(qū)別詳解
- Java的String類中的startsWith方法和endsWith方法示例詳解
- Java中的StringJoiner類使用示例深入詳解
- Java中的StringBuilder()常見方法詳解
- java8中的List<String>轉(zhuǎn)List<Integer>的實(shí)例代碼
- Java中如何取出String字符串括號(hào)中的內(nèi)容
- 深入理解Java中的String(示例詳解)
相關(guān)文章
SpringBoot項(xiàng)目如何打war包問題詳解
傳統(tǒng)的部署方式:將項(xiàng)目打成war包,放入tomcat的webapps目錄下面,啟動(dòng)tomcat,即可訪問.文中有非常詳細(xì)的介紹,對(duì)正在學(xué)習(xí)springboot的小伙伴很有幫助,需要的朋友可以參考下2021-05-05Java算法練習(xí)題,每天進(jìn)步一點(diǎn)點(diǎn)(1)
方法下面小編就為大家?guī)硪黄狫ava算法的一道練習(xí)題(分享)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧,希望可以幫到你2021-07-07SpringBoot使用spring.config.import多種方式導(dǎo)入配置文件
本文主要介紹了SpringBoot使用spring.config.import多種方式導(dǎo)入配置文件,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05SpringBoot在Controller層接收參數(shù)的n種姿勢(shì)(超詳細(xì))
這篇文章主要介紹了SpringBoot在Controller層接收參數(shù)的常用方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-01-01IDEA自動(dòng)清理類中未使用的import包的操作方法
在項(xiàng)目開發(fā)中,經(jīng)常會(huì)引入很多未使用的import包,這不僅增加了編譯時(shí)間,還會(huì)使代碼可讀性變差,設(shè)置IDEA自動(dòng)清理未使用的import包,可以提高代碼的可讀性,本文給大家介紹IDEA自動(dòng)清理類中未使用的import包的方法,感興趣的朋友一起看看吧2024-09-09java如何實(shí)現(xiàn)post請(qǐng)求webservice服務(wù)端
這篇文章主要介紹了java如何實(shí)現(xiàn)post請(qǐng)求webservice服務(wù)端,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03在Java生產(chǎn)環(huán)境下進(jìn)行性能監(jiān)控與調(diào)優(yōu)的詳細(xì)過程
在Java生產(chǎn)環(huán)境下進(jìn)行性能監(jiān)控與調(diào)優(yōu)是一個(gè)復(fù)雜但重要的過程,它涉及到多個(gè)方面,包括代碼分析、JVM監(jiān)控、線程管理、垃圾收集優(yōu)化、內(nèi)存管理、數(shù)據(jù)庫交互等,下面我將提供一個(gè)詳細(xì)的概述和示例代碼,需要的朋友可以參考下2025-02-02