StringUtils類API及使用方法詳解
判空函式
1)StringUtils.isEmpty(String str)
2)StringUtils.isNotEmpty(String str)
3)StringUtils.isBlank(String str)
4)StringUtils.isNotBlank(String str)
5)StringUtils.isAnyBlank(CharSequence… css)
6)StringUtils.isAnyEmpty(CharSequence… css)
7)StringUtils.isNoneBlank(CharSequence… css)
8)StringUtils.isNoneEmpty(CharSequence… css)
9)StringUtils.isWhitespace(CharSequence cs)
- isNotEmpty = !isEmpty, isBlank同理;
- 容易忽略的;
StringUtils.isEmpty("") = true
- isBlank和isEmpty區別:
System.out.println(StringUtils.isBlank(" "));//true System.out.println(StringUtils.isBlank(" "))
- isAnyBlank和isAnyEmpty是多維判空,存在一個blank或者empty既true
StringUtils.isAnyBlank("", "bar","foo"); = true //注意這兩個區別 StringUtils.isAnyEmpty(" ", "bar") = false StringUtils.isAnyEmpty(" "
- isNoneBlank = !isAnyBlank;isNoneEmpty同理
public static boolean isNoneBlank(CharSequence... css) { return !isAnyBlank(css); }
- isWhitespace判斷空白
StringUtils.isWhitespace(null) = false StringUtils.isWhitespace("") = true StringUtils.isWhitespace(" ") = true
大小寫函式
StringUtils.capitalize(String str)
StringUtils.uncapitalize(String str)
StringUtils.upperCase(String str)
StringUtils.upperCase(String str,Locale locale)
StringUtils.lowerCase(String str)
StringUtils.lowerCase(String str,Locale locale)
StringUtils.swapCase(String str)
StringUtils.isAllUpperCase(CharSequence cs)
StringUtils.isAllLowerCase(CharSequence cs)
注意點:
- capitalize首字母大寫,upperCase全部轉化為大寫,swapCase大小寫互轉;
StringUtils.capitalize(null) = null StringUtils.capitalize("") = "" //首字母轉為大寫 StringUtils.capitalize("cat") = "Cat" //全部轉為大寫 StringUtils.upperCase("aBc") = "ABC" //大小寫互轉 StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
- isAllUpperCase是否全部大寫,isAllLowerCase是否全部小寫
StringUtils.isAllLowerCase(" ") = false StringUtils.isAllLowerCase("abc") = true StringUtils.isAllLowerCase("abC") = false StringUtils.isAllLowerCase("ab c") = false StringUtils.isAllLowerCase("ab1c") = false StringUtils.isAllLowerCase("ab/c") = false
刪除函式
StringUtils.remove(String str, char remove)
StringUtils.remove(String str, String remove)
StringUtils.removeEnd(String str, String remove)
StringUtils.removeEndIgnoreCase(String str, String remove)
StringUtils.removePattern(String source, String regex)
StringUtils.removeStart(String str, String remove)
StringUtils.removeStartIgnoreCase(String str, String remove)
StringUtils.deleteWhitespace(String str)
- 具體例子
//刪除字元 StringUtils.remove("queued", 'u') = "qeed" //刪除字串 StringUtils.remove("queued", "ue") = "qd" //刪除結尾匹配的字串 StringUtils.removeEnd("www.domain.com", ".com") = "www.domain" //刪除結尾匹配的字串,找都不到返回原字串 StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com" //忽略大小寫的 StringUtils.removeEndIgnoreCase("www.domain.com", ".COM") = "www.domain") //刪除所有空白(好用) StringUtils.deleteWhitespace("abc") = "abc" StringUtils.deleteWhitespace(" ab c ") = "abc"
替換函式
replace(String text, String searchString, String replacement)
replace(String text, String searchString, String replacement, int max)
replaceChars(String str, char searchChar, char replaceChar)
replaceChars(String str, String searchChars, String replaceChars)
replaceEach(String text, String[] searchList, String[] replacementList)
replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
replaceOnce(String text, String searchString, String replacement)
replacePattern(String source, String regex, String replacement)
overlay(String str,String overlay,int start,int end)
- 例子
StringUtils.replace("aba", "a", "") = "b" StringUtils.replace("aba", "a", "z") = "zbz" //數字就是替換個數,0代表不替換,1代表從開始數起第一個,-1代表全部替換 StringUtils.replace("abaa", "a", "", -1) = "b" StringUtils.replace("abaa", "a", "z", 0) = "abaa" StringUtils.replace("abaa", "a", "z", 1) = "zbaa" StringUtils.replace("abaa", "a", "z", 2) = "zbza" StringUtils.replace("abaa", "a", "z", -1) = "zbzz"
- replaceEach是replace的增強版,搜尋列表和替換長度必須一致,否則報IllegalArgumentException異常:
StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte" StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "dcte" StringUtils.replaceChars("dabcba", "bcd", "yzx") = "xayzya" StringUtils.replaceChars("abcba", "bc", "y") = "ayya"
replaceChars原理圖
- replaceOnce只替換一次:
StringUtils.replaceOnce("aba", "a", "") = "ba" StringUtils.replaceOnce("aba", "a", "z") = "zba" StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte" //這是一個非常奇怪的函式,本來自己料想結果應該是“dcte”的,可是結果居然是tcte,而dcte再替換一次就是tcte了。 StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "tcte"
StringUtils.overlay("abcdef", "zzzz", 2, 4) = "abzzzzef"
StringUtils.overlay("abcdef", "zzzz", 4, 2) = "abzzzzef"
StringUtils.overlay("abcdef", "zzzz", -1, 4) = "zzzzef"
StringUtils.overlay("abcdef", "zzzz", 2, 8) = "abzzzz"
StringUtils.overlay("abcdef", "zzzz", -2, -3) = "zzzzabcdef"
StringUtils.overlay("abcdef", "zzzz", 8, 10) = "abcdefzzzz"
反轉函式
reverse(String str)
reverseDelimited(String str, char separatorChar)
例:
StringUtils.reverse("bat") = "tab"
StringUtils.reverseDelimited("a.b.c", 'x') = "a.b.c"
StringUtils.reverseDelimited("a.b.c", ".") = "c.b.a"
分隔合併函式
split(String str)
split(String str, char separatorChar)
split(String str, String separatorChars)
split(String str, String separatorChars, int max)
splitByCharacterType(String str)
splitByCharacterTypeCamelCase(String str)
splitByWholeSeparator(String str, String separator)
splitByWholeSeparator(String str, String separator, int max)
splitByWholeSeparatorPreserveAllTokens(String str, String separator)
splitByWholeSeparatorPreserveAllTokens(String str, String separator, int max)
splitPreserveAllTokens(String str)
splitPreserveAllTokens(String str, char separatorChar)
splitPreserveAllTokens(String str, String separatorChars)
splitPreserveAllTokens(String str, String separatorChars, int max)
例:
//用空白符做空格
StringUtils.split("abc def") = ["abc", "def"]
StringUtils.split("abc def") = ["abc", "def"]
StringUtils.split("a..b.c", '.') = ["a", "b", "c"]
//用字元分割
StringUtils.split("a:b:c", '.') = ["a:b:c"]
//0 或者負數代表沒有限制
StringUtils.split("ab:cd:ef", ":", 0) = ["ab", "cd", "ef"]
//分割字串 ,可以設定得到陣列的長度,限定為2
StringUtils.split("ab:cd:ef", ":", 2) = ["ab", "cd:ef"]
//null也可以作為分隔
StringUtils.splitByWholeSeparator("ab de fg", null) = ["ab", "de", "fg"]
StringUtils.splitByWholeSeparator("ab de fg", null) = ["ab", "de", "fg"]
StringUtils.splitByWholeSeparator("ab:cd:ef", ":") = ["ab", "cd", "ef"]
StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-") = [
相關推薦
StringUtils類API及使用方法詳解
StringUtils方法概覽
判空函式
1)StringUtils.isEmpty(String str)
2)StringUtils.isNotEmpty(String str)
3)StringUtils.isBlank(String str)
4)String
StringUtils類API及使用方法詳解(轉載)
StringUtils方法概覽判空函式1)StringUtils.isEmpty(String str)2)StringUtils.isNotEmpty(String str)3)StringUtils.isBlank(String str)4)StringUt
類自動載入方法詳解
在瞭解這個函式之前先來看另一個函式:__autoload。
一、__autoload
這是一個自動載入函式,在PHP5中,當我們例項化一個未定義的類時,就會觸發此函式。看下面例子:
printit.class.php
<?php
class PRINTIT {
function do
“全棧2019”Java第五十九章:抽象類與抽象方法詳解
難度
初級
學習時間
10分鐘
適合人群
零基礎
開發語言
Java
開發環境
JDK v11
IntelliJ IDEA v2018.3
文章原文連結
“全棧2019”Java第五十九章:抽象類與抽象方法詳解
下一章
“全棧2019”Java第六十章:如何定義介面
java String 類的equals方法 詳解
equals 方法的程式碼如下所示:
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String)
Graphics類g.drawRect()方法詳解
import javax.swing.*;
import java.awt.*;
public class Main {
public static void main(String[] args) {
JFrame frame=new JFrame
ListView的屬性及方法詳解
近期在重新學習Android控制元件知識,目前進行到ListView,感覺這是一塊尤其難啃的硬骨頭:最為常用、用法較複雜、涉及的其他Android知識也較多。因此決定系統地好好複習一遍ListView。其中涉及到的其他知識點將在後期以連結的形式不斷進行更新。
本文僅介紹L
TimerTask類和Timer類的cancel()方法詳解
無論是TimerTask類還是Timer類,其cancel()方法都是為了清除任務佇列中的任務。雖然都是清除任務佇列中的任務,卻有一些不同:TimerTask類中的cancel()方法側重的是將自身從任務佇列中清除,其他任務不受影響,而Timer類中的cance
String類構造和方法詳解
1. 構造string
string實際上是模板具體化basic_string<string>的一個typedef。它有如下的建構函式。
string類的建構函式
string(cons
Java之陣列查詢Arrays類的binarySearch()方法詳解
Arrays類的binarySearch()方法,可以使用二分搜尋法來搜尋指定的陣列,以獲得指定物件。該方法返回要搜尋元素的索引值。binarySearch()方法提供多種過載形式,用於滿足各種型別陣
c++string類的常用方法詳解
大部分程式都要頻繁地對字串進行操作,而c++的string類對字串進行了很強大的封裝,方便我們使用,但我常常忘了一些函式的用法,故查詢文章,轉載過來,供查詢用。
要想使用標準C++中string類,必須要包含#include <string>// 注意
Java工具類StringUtils中trim、trimToEmpty、trimToNull方法詳解
1. trim方法原始碼詳解 public static String trim(String str)
{
return str == null ? null : str.trim();
}1234原始碼解析:輸入引數為null時返回nul
(十二)Java工具類StringUtils中trim、trimToEmpty、trimToNull方法詳解
1. trim方法原始碼詳解
public static String trim(String str)
{
return str == null ? null : str.trim();
}
原始碼解析:輸入引數為n
Arrays 類的 binarySearch() 數組查詢方法詳解
strong object tro search mage bject 技術分享 eight 獲得 Arrays類的binarySearch()方法,可以使用二分搜索法來搜索指定的數組,以獲得指定對象。該方法返回要搜索元素的索引值。binarySearch()方法提供多種重
systemd配置文件及管理方法詳解
systemd一、systemd文件夾配置文件夾: systemd 配置文件存在於以下三個文件夾中: ①/etc/systemd/system 存放系統啟動的默認級別及啟動的unit的軟連接,優先級最高。②/run/systemd/system,系統執行過程中產生的服務腳本,優先級次
使用Java的Graphics類進行繪圖的方法詳解
範圍 date cnblogs 兩種 size set orm 畫橢圓 true Graphics類提供基本繪圖方法,Graphics2D類提供更強大的繪圖能力。本節講解Graphics類,下節講解Graphics2D。
Graphics類提供基本的幾何圖形繪制方法,主要有
BeautifulSoup 使用select方法詳解(通過標簽名,類名, id,組合,屬性查找)
chrome red 例如 ttl app user encode and 定位 import requestsfrom bs4 import BeautifulSoupblslib="html5lib"user_agent="Mozilla/5.0 (Macintosh;
IP地址的分類及範圍詳解:A、B、C、D、E五類是如何劃分的?
網絡地址分類 IP地址分類 IP地址劃分 IP地址類型 IP地址範圍 IP地址的分類及範圍詳解:A、B、C、D、E五類是如何劃分的?最近在考證,有一項內容是網絡IP地址劃分的題目,一直從事IT的猛然發現回答這個問題時產生了懷疑,於是習慣百度了一下,發現網上廣泛流傳的有關IP地址劃分的文章居
2 類、實例、屬性、方法詳解
obj tps 圖片 AD lex 間接 年齡 AS 其它 類的語法
上面的代碼其實有問題,屬性名字和年齡都寫死了,想傳名字傳不進去。
1 class Person(object):
2 def __init__(self, name, age):
3 se
TestNG Assert類方法詳解
類方法 null cep 進行 ots ces 一個 遍歷數組 spa package com.testng.examples;import org.testng.Assert;import org.testng.annotations.Test;public class