转载自:StringUtils的常见方法

转载自:https://blog.csdn.net/simple_smile_sun/article/details/51819158

  1 注:运用StringUtils需要导入相关jar文件,commons-lang3-3.1.jar
  2 
  3 
  4 
  5 import org.apache.commons.lang3.StringUtils;
  6 
  7 public static void main(String[] args) {
  8 
  9         String str = "dskeabceead";
 10 
 11         String after = StringUtils.substringAfter(str, "e");
 12         System.out.println("after:"+after);
 13 
 14         String afterLast = StringUtils.substringAfterLast(str, "e");
 15         System.out.println("afterLast:"+afterLast);
 16         
 17         String before = StringUtils.substringBefore(str, "e");
 18         System.out.println("before:"+before);
 19 
 20         String beforeLast = StringUtils.substringBeforeLast(str, "e");
 21         System.out.println("beforeLast:"+beforeLast);
 22         
 23     }
 24 
 25 
 26 
 27 运行结果:
 28 
 29     after:abceead
 30     afterLast:ad
 31     before:dsk
 32     beforeLast:dskeabce
 33 
 34 
 35 
 36 其它方法不再一一验证:
 37 
 38 1. public static boolean isEmpty(String str) 
 39    判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 
 40    下面是 StringUtils 判断是否为空的示例:
 41 
 42 StringUtils.isEmpty(null) = true
 43 StringUtils.isEmpty("") = true 
 44 StringUtils.isEmpty(" ") = false //注意在 StringUtils 中空格作非空处理
 45 StringUtils.isEmpty("   ") = false
 46 StringUtils.isEmpty("bob") = false
 47 StringUtils.isEmpty(" bob ") = false
 48 
 49  
 50 
 51 2. public static boolean isNotEmpty(String str) 
 52    判断某字符串是否非空,等于 !isEmpty(String str) 
 53    下面是示例:
 54 
 55       StringUtils.isNotEmpty(null) = false
 56       StringUtils.isNotEmpty("") = false
 57       StringUtils.isNotEmpty(" ") = true
 58       StringUtils.isNotEmpty("         ") = true
 59       StringUtils.isNotEmpty("bob") = true
 60       StringUtils.isNotEmpty(" bob ") = true 
 61 
 62 3. public static boolean isBlank(String str) 
 63    判断某字符串是否为空或长度为0或由空白符(whitespace) 构成
 64    下面是示例:
 65       StringUtils.isBlank(null) = true
 66       StringUtils.isBlank("") = true
 67       StringUtils.isBlank(" ") = true
 68       StringUtils.isBlank("        ") = true
 69       StringUtils.isBlank("	 
 f 
") = true   //对于制表符、换行符、换页符和回车符
 70 
 71       StringUtils.isBlank()   //均识为空白符
 72       StringUtils.isBlank("") = false   //""为单词边界符
 73       StringUtils.isBlank("bob") = false
 74       StringUtils.isBlank(" bob ") = false 
 75 
 76 4. public static boolean isNotBlank(String str) 
 77    判断某字符串是否不为空且长度不为0且不由空白符(whitespace) 构成,等于 !isBlank(String str) 
 78    下面是示例:
 79 
 80       StringUtils.isNotBlank(null) = false
 81       StringUtils.isNotBlank("") = false
 82       StringUtils.isNotBlank(" ") = false
 83       StringUtils.isNotBlank("         ") = false
 84       StringUtils.isNotBlank("	 
 f 
") = false
 85       StringUtils.isNotBlank("") = true
 86       StringUtils.isNotBlank("bob") = true
 87       StringUtils.isNotBlank(" bob ") = true 
 88 
 89 5. public static String trim(String str) 
 90    去掉字符串两端的控制符(control characters, char <= 32) , 如果输入为 null 则返回null 
 91    下面是示例:
 92       StringUtils.trim(null) = null
 93       StringUtils.trim("") = ""
 94       StringUtils.trim(" ") = ""
 95       StringUtils.trim("   	 
 f 
    ") = ""
 96       StringUtils.trim("     
	ss   ") = "ss"
 97       StringUtils.trim(" d   d dd     ") = "d   d dd"
 98       StringUtils.trim("dd     ") = "dd"
 99       StringUtils.trim("     dd       ") = "dd" 
100 
101 6. public static String trimToNull(String str) 
102    去掉字符串两端的控制符(control characters, char <= 32) ,如果变为 null 或"",则返回 null 
103    下面是示例:
104       StringUtils.trimToNull(null) = null
105       StringUtils.trimToNull("") = null
106       StringUtils.trimToNull(" ") = null
107       StringUtils.trimToNull("      	 
 f 
    ") = null
108       StringUtils.trimToNull("     
	ss   ") = "ss"
109       StringUtils.trimToNull(" d   d dd     ") = "d   d dd"
110       StringUtils.trimToNull("dd     ") = "dd"
111       StringUtils.trimToNull("     dd       ") = "dd" 
112 
113 7. public static String trimToEmpty(String str) 
114    去掉字符串两端的控制符(control characters, char <= 32) ,如果变为 null 或 "" ,则返回 "" 
115    下面是示例:
116       StringUtils.trimToEmpty(null) = ""
117       StringUtils.trimToEmpty("") = ""
118       StringUtils.trimToEmpty(" ") = ""
119       StringUtils.trimToEmpty("      	 
 f 
    ") = ""
120       StringUtils.trimToEmpty("     
	ss   ") = "ss"
121       StringUtils.trimToEmpty(" d   d dd     ") = "d   d dd"
122       StringUtils.trimToEmpty("dd     ") = "dd"
123       StringUtils.trimToEmpty("     dd       ") = "dd" 
124 
125 8. public static String strip(String str) 
126    去掉字符串两端的空白符(whitespace) ,如果输入为 null 则返回 null 
127    下面是示例(注意和 trim() 的区别):
128       StringUtils.strip(null) = null
129       StringUtils.strip("") = ""
130       StringUtils.strip(" ") = ""
131       StringUtils.strip("      	 
 f 
    ") = ""
132       StringUtils.strip("     
	ss   ") = "ss   "
133       StringUtils.strip(" d   d dd     ") = "d   d dd"
134       StringUtils.strip("dd     ") = "dd"
135       StringUtils.strip("     dd       ") = "dd" 
136 
137 9. public static String stripToNull(String str) 
138    去掉字符串两端的空白符(whitespace) ,如果变为 null 或"",则返回 null 
139    下面是示例(注意和 trimToNull() 的区别):
140       StringUtils.stripToNull(null) = null
141       StringUtils.stripToNull("") = null
142       StringUtils.stripToNull(" ") = null
143       StringUtils.stripToNull("      	 
 f 
    ") = ""
144       StringUtils.stripToNull("     
	ss   ") = "ss   "
145       StringUtils.stripToNull(" d   d dd     ") = "d   d dd"
146       StringUtils.stripToNull("dd     ") = "dd"
147       StringUtils.stripToNull("     dd       ") = "dd" 
148 
149 10. public static String stripToEmpty(String str) 
150     去掉字符串两端的空白符(whitespace) ,如果变为 null 或"" ,则返回"" 
151     下面是示例(注意和 trimToEmpty() 的区别):
152       StringUtils.stripToNull(null) = ""
153       StringUtils.stripToNull("") = ""
154       StringUtils.stripToNull(" ") = ""
155       StringUtils.stripToNull("      	 
 f 
    ") = ""
156       StringUtils.stripToNull("     
	ss   ") = "ss   "
157       StringUtils.stripToNull(" d   d dd     ") = "d   d dd"
158       StringUtils.stripToNull("dd     ") = "dd"
159       StringUtils.stripToNull("     dd       ") = "dd" 
160 
161 以下方法只介绍其功能,不再举例:
162 11. public static String strip(String str, String stripChars) 
163    去掉 str 两端的在 stripChars 中的字符。
164    如果 str 为 null 或等于"" ,则返回它本身;
165    如果 stripChars 为 null 或"" ,则返回 strip(String str) 。
166 
167 12. public static String stripStart(String str, String stripChars) 
168     和11相似,去掉 str 前端的在 stripChars 中的字符。
169 
170 13. public static String stripEnd(String str, String stripChars) 
171     和11相似,去掉 str 末端的在 stripChars 中的字符。
172 
173 14. public static String[] stripAll(String[] strs) 
174     对字符串数组中的每个字符串进行 strip(String str) ,然后返回。
175     如果 strs 为 null 或 strs 长度为0,则返回 strs 本身
176 
177 15. public static String[] stripAll(String[] strs, String stripChars) 
178     对字符串数组中的每个字符串进行 strip(String str, String stripChars) ,然后返回。
179     如果 strs 为 null 或 strs 长度为0,则返回 strs 本身
180 
181 16. public static boolean equals(String str1, String str2) 
182     比较两个字符串是否相等,如果两个均为空则也认为相等。
183 
184 17. public static boolean equalsIgnoreCase(String str1, String str2) 
185     比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。
186 
187 18. public static int indexOf(String str, char searchChar) 
188     返回字符 searchChar 在字符串 str 中第一次出现的位置。
189     如果 searchChar 没有在 str 中出现则返回-1190     如果 str 为 null 或 "" ,则也返回-1
191 
192 19. public static int indexOf(String str, char searchChar, int startPos) 
193     返回字符 searchChar 从 startPos 开始在字符串 str 中第一次出现的位置。
194     如果从 startPos 开始 searchChar 没有在 str 中出现则返回-1195     如果 str 为 null 或 "" ,则也返回-1
196 
197 20. public static int indexOf(String str, String searchStr) 
198     返回字符串 searchStr 在字符串 str 中第一次出现的位置。
199     如果 str 为 null 或 searchStr 为 null 则返回-1200     如果 searchStr 为 "" ,且 str 为不为 null ,则返回0,
201     如果 searchStr 不在 str 中,则返回-1
202 
203 21. public static int ordinalIndexOf(String str, String searchStr, int ordinal) 
204     返回字符串 searchStr 在字符串 str 中第 ordinal 次出现的位置。
205     如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1
206     举例(*代表任意字符串):
207       StringUtils.ordinalIndexOf(null, *, *) = -1
208       StringUtils.ordinalIndexOf(*, null, *) = -1
209       StringUtils.ordinalIndexOf("", "", *) = 0
210       StringUtils.ordinalIndexOf("aabaabaa", "a", 1) = 0
211       StringUtils.ordinalIndexOf("aabaabaa", "a", 2) = 1
212       StringUtils.ordinalIndexOf("aabaabaa", "b", 1) = 2
213       StringUtils.ordinalIndexOf("aabaabaa", "b", 2) = 5
214       StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
215       StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
216       StringUtils.ordinalIndexOf("aabaabaa", "bc", 1) = -1
217       StringUtils.ordinalIndexOf("aabaabaa", "", 1) = 0
218       StringUtils.ordinalIndexOf("aabaabaa", "", 2) = 0 
219 
220 22. public static int indexOf(String str, String searchStr, int startPos) 
221     返回字符串 searchStr 从 startPos 开始在字符串 str 中第一次出现的位置。
222     举例(*代表任意字符串):
223       StringUtils.indexOf(null, *, *) = -1
224       StringUtils.indexOf(*, null, *) = -1
225       StringUtils.indexOf("", "", 0) = 0
226       StringUtils.indexOf("aabaabaa", "a", 0) = 0
227       StringUtils.indexOf("aabaabaa", "b", 0) = 2
228       StringUtils.indexOf("aabaabaa", "ab", 0) = 1
229       StringUtils.indexOf("aabaabaa", "b", 3) = 5
230       StringUtils.indexOf("aabaabaa", "b", 9) = -1
231       StringUtils.indexOf("aabaabaa", "b", -1) = 2
232       StringUtils.indexOf("aabaabaa", "", 2) = 2
233       StringUtils.indexOf("abc", "", 9) = 3 
234 
235 23. public static int lastIndexOf(String str, char searchChar) 
236     基本原理同18
237 
238 24. public static int lastIndexOf(String str, char searchChar, int startPos) 
239     基本原理同19
240 
241 25. public static int lastIndexOf(String str, String searchStr) 
242     基本原理同20
243 
244 26. public static int lastIndexOf(String str, String searchStr, int startPos) 
245     基本原理同22

另附:
String 的 split(String regex)   方法的用法
如果我们需要把某个字符串拆分为字符串数组,则通常用 split(String regex) 来实现。

例如:

1 String str = "aa,bb,cc,dd";     
2 String[] strArray = str.split(",");      
3 System.out.println(strArray.length);     
4   for (int i = 0; i < strArray.length; i++) {     
5        System.out.println(strArray[i]);     
6 }  

结果为:
4
aa
bb
cc
dd 

如果,
String str = "aa.bb.cc.dd";
String[] strArray = str.split("."); 

则结果为:0

为什么结果不是我们所想的呢,原因是参数 String regex 是正则表达式 (regular expression) 而不是普通字符串,而 "." 在正则表达式中有特殊含义,表示匹配所有单个字符。如果要那样拆分,我们必须给 "." 进行转义,String[] strArray = str.split(".") 修改为 String[] strArray = str.split("\.") 即可。
另外有关 StringUtils 的详细 API 请参见http://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html

转载自:https://blog.csdn.net/simple_smile_sun/article/details/51819158

原文地址:https://www.cnblogs.com/mySummer/p/11269061.html