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)
//縮短到某長度,用...結(jié)尾.其實就是(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計算 )
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)計一字符串在另一字符串中出現(xiàn)次數(shù)
StringUtils.countMatches("abba", "a");//---2
//刪除字符串中的梭有空格
StringUtils.deleteWhitespace(" ab c ");//---"abc"
//比較兩字符串,返回不同之處。確切的說是返回第二個參數(shù)中與第一個參數(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 (不識別運(yùn)算符號、小數(shù)點、空格……)
StringUtils.isNumericSpace("12 3");//---true
//數(shù)組中加入分隔符號
//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);
//在指定字符串中生成長度為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");
//判斷兩個數(shù)據(jù)是否相等,如果內(nèi)容相同, 順序相同 則返回 true
ArrayUtils.isEquals(arr1,arr2);
//判斷數(shù)組中是否包含某一對象
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);
//字符串時間轉(zhuǎn)換為Date
DateUtils.parseDate(str, parsePatterns);PS:java中StringUtils的引用及用法簡介
今天在網(wǎng)上查找java中判斷關(guān)于StringUtils的介紹,講得都是一些關(guān)于StringUtils的類的方法介紹,對于還是小白的我來說一臉懵逼,都不知道如何導(dǎo)入StringUtils這個類,在編輯器中直接編寫的時候總是導(dǎo)入的總是com.sun.xml.internal.ws.util.StringUtils這個類,然后點出來的方法就很懵,下面介紹如何正確導(dǎo)入StringUtils這個工具類
StringUtils 方法的操作對象是 Java.lang.String 類型的對象,是 JDK 提供的 String 類型操作方法的補(bǔ)充,并且是 null 安全的(即如果輸入?yún)?shù) String 為 null 則不會拋出 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ù)制到項目Lib包下,這時我們就能使用StringUtils里面的一些方法了。下面簡單介紹下常用的方法。
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 ") = false2.判斷某字符串是否非空,等于 !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 ") = true3.判斷某字符串是否為空或長度為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 //對于制表符、換行符、換頁符和回車符
StringUtils.isBlank() //均識為空白符
StringUtils.isBlank("\b") = false //"\b"為單詞邊界符
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false4.判斷某字符串是否不為空且長度不為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剩下的還有很多,有興趣的小伙伴可以自己花時間研究下。
到此這篇關(guān)于Java中的StringUtils引入及使用的文章就介紹到這了,更多相關(guān)java StringUtils使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- JSON.toJSONString()方法在Java中的使用方法及應(yīng)用場景
- Java中的String不可變性實現(xiàn)
- Java中的StringTokenizer實現(xiàn)字符串切割詳解
- Java中的String、StringBuilder、StringBuffer三者的區(qū)別詳解
- Java的String類中的startsWith方法和endsWith方法示例詳解
- Java中的StringJoiner類使用示例深入詳解
- Java中的StringBuilder()常見方法詳解
- java8中的List<String>轉(zhuǎn)List<Integer>的實例代碼
- Java中如何取出String字符串括號中的內(nèi)容
- 深入理解Java中的String(示例詳解)
相關(guān)文章
基于MyBatis的數(shù)據(jù)持久化框架的使用詳解
Mybatis是一個優(yōu)秀的開源、輕量級持久層框架,它對JDBC操作數(shù)據(jù)庫的過程進(jìn)行封裝。本文將為大家講解一下基于MyBatis的數(shù)據(jù)持久化框架的使用,感興趣的可以了解一下2022-08-08
SpringBoot 整合 Lettuce Redis的實現(xiàn)方法
這篇文章主要介紹了SpringBoot 整合 Lettuce Redis的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
自定義注解和springAOP捕獲Service層異常,并處理自定義異常操作
這篇文章主要介紹了自定義注解和springAOP捕獲Service層異常,并處理自定義異常操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06

