apache StringUtils 工具类
1 | org.apache.commons.lang3.StringUtils |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | // 1.IsEmpty/IsBlank - checks if a String contains text 检查是否为空 boolean empty = StringUtils.isEmpty( "" ); // 调用cs == null || cs.length() == 0 // System.out.println(empty); boolean blank = StringUtils.isBlank( " " ); // 调用cs == null || cs.length() == 0 和 遍历每个字符Character.isWhitespace(cs.charAt(i)) // System.out.println(blank); // 扩展:isWhitespace() 方法用于判断指定字符是否为空白字符,空白符包含:空格、tab键、换行符。 // http://www.runoob.com/java/character-iswhitespace.html // 2.Trim/Strip - removes leading and trailing whitespace 移除前后空白 String trim = StringUtils.trim( " abc " ); // 调用str.trim() // System.out.println(trim); //"abc" StringUtils.trimToEmpty( "" ); // 调用str == null ? "" : str.trim() StringUtils.trimToNull( "" ); // 调用 trim(str),再调用isEmpty(ts) String strip = StringUtils.strip( "abcdabc" , "abc" ); // 按指定字符前后截取 ,调用indexOf()和subString() // System.out.println(strip); //" abc" // 参考:StringUtils中strip、stripStart、stripEnd剥离方法源码详解 // https://blog.csdn.net/yaomingyang/article/details/79169547 // 3.Equals/Compare - compares two strings null-safe 判断相等/比较 StringUtils.equals( "abc" , "abc" ); // 判断相等,调用==,equals,regionMatches StringUtils.equalsIgnoreCase( "abc" , "ABC" ); // 判断相等(忽略大小写) StringUtils.equalsAny( "abc" , "abc" , "def" ); // 判断第一个字符与后面任意字符串相等,遍历调用equals判断第一个字符与后面字符是否相等 StringUtils.equalsAnyIgnoreCase( "abc" , "ABC" , "def" ); // 判断第一个字符与后面任意字符串相等(忽略大小写) // 扩展:regionMatches() 方法用于检测两个字符串在一个区域内是否相等。 // http://www.runoob.com/java/java-string-regionmatches.html // 4.startsWith - check if a String starts with a prefix null-safe StringUtils.startsWith( "abcdef" , "abc" ); // true 以什么开头,调用CharSequenceUtils.regionMatches StringUtils.startsWithIgnoreCase( "ABCDEF" , "abc" ); // true StringUtils.startsWithAny( "abcxyz" , new String[] { null , "xyz" , "abc" }); // true StringUtils.startsWithAny( "ABCXYZ" , null , "xyz" , "abc" ); // false // 还可使用: java.lang.String.startsWith "abcdef" .startsWith( "abc" ); // 5.endsWith - check if a String ends with a suffix null-safe StringUtils.endsWith( "abcdef" , "def" ); // true StringUtils.endsWithIgnoreCase( "ABCDEF" , "def" ); // true StringUtils.endsWithAny( "abcxyz" , new String[] { null , "xyz" , "abc" }); // true // 6.IndexOf/LastIndexOf/Contains - null-safe index-of checks StringUtils.indexOf( "aabaabaa" , "ab" ); // 1 调用CharSequenceUtils.indexOf StringUtils.indexOf( "aabaabaa" , "ab" , 0); // 1 从第3位开始查找,"b"首次出现的位置 StringUtils.ordinalIndexOf( "aabaabaa" , "ab" , 1); // 1 StringUtils.indexOfIgnoreCase( "aabaabaa" , "AB" ); // 1 调用CharSequenceUtils.regionMatches StringUtils.indexOfIgnoreCase( "aabaabaa" , "AB" , 0); // 1 StringUtils.lastIndexOf( "aabaabaa" , "ab" ); // 4 调用CharSequenceUtils.lastIndexOf StringUtils.lastIndexOf( "aabaabaa" , 'b' , 8); // 5 StringUtils.lastIndexOf( "aabaabaa" , 'b' , 4); // 2 StringUtils.lastIndexOf( "aabaabaa" , 'b' , 0); // -1 StringUtils.contains( "abc" , 'a' ); // true 调用CharSequenceUtils.indexOf StringUtils.containsIgnoreCase( "abc" , "A" ); // true StringUtils.containsWhitespace( "1 2" ); // true 是否包含空字符,调用Character.isWhitespace // 还可使用: java.lang.String.indexOf "aabaabaa" .indexOf( "ab" ); // 7.IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyBut - index-of any of a set of Strings StringUtils.indexOfAny( "aabaabaa" , "ab" , "a" ); StringUtils.indexOfAny( "aabaabaa" , new char[] { 'a' , 'b' }); StringUtils.lastIndexOfAny( "aabaabaa" , "ab" , "a" ); StringUtils.indexOfAnyBut( "sdsfhhl0" , "h" ); //结果是0 找出字符串中不在字符数组searchars中的第一个字符出现的位置(从0位开始) StringUtils.indexOfAnyBut( "sdsfhhl0" , "s" ); //结果是1 StringUtils.indexOfAnyBut( "aa" , "aa" ); //结果是-1 // 8.ContainsOnly/ContainsNone/ContainsAny - does String contains only/none/any of these characters StringUtils.containsOnly( "abab" , new char[] { 'a' , 'b' , 'c' }); // true 检查字符串(参数1)中的字符是否全为字符串(参数2)中的字符的子集. StringUtils.containsOnly( "abab" , "abc" ); StringUtils.containsAny( "zzabyycdxx" , new char[] { 'z' , 'a' }); // true StringUtils.containsNone( "abab" , new char[] { 'x' , 'y' , 'z' }); // true // 还可使用: java.lang.String.contains "aabaabaa" .contains( "ab" ); // 调用String.indexOf // 9.Substring/Left/Right/Mid - null-safe substring extractions StringUtils.substring( "abc" , 2); // "c" 调用str.substring StringUtils.substring( "abc" , 0, 2); // "ab" StringUtils.left( "abc" , 2); // "ab" StringUtils.right( "abc" , 2); // "bc" // 还可使用: java.lang.String.substring "abc" .substring(0, 2); // "ab" 调用new String("abc".getBytes(), 0, 2); // 10.SubstringBefore/SubstringAfter/SubstringBetween - substring extraction relative to other strings StringUtils.substringBefore( "abc" , "c" ); // "ab" 截取指定字符串之前的内容 StringUtils.substringAfter( "abc" , "a" ); // "bc" StringUtils.substringBeforeLast( "abcba" , "b" ); // "abc" 一直找到最后一个指定的字符串 StringUtils.substringAfterLast( "abcba" , "b" ); // "a" StringUtils.substringBetween( "tagabctag" , "tag" ); // "abc" StringUtils.substringBetween( "yabczyabcz" , "y" , "z" ); // "abc" StringUtils.substringsBetween( "[a][b][c]" , "[" , "]" ); // ["a","b","c"] // 11.Split/Join - splits a String into an array of substrings and vice versa StringUtils.split( "abc def" ); // ["abc", "def"] StringUtils.split( "a.b.c" , '.' ); // ["a", "b", "c"] StringUtils.split( "ab:cd:ef" , ":" , 2); // ["ab", "cd:ef"] 2设定返回数组的最大长度 StringUtils.splitByWholeSeparator( "ab-!-cd-!-ef" , "-!-" ); StringUtils.join( "a" , "b" , "c" ); // "abc" // 还可使用: java.lang.String.split/join "ab:cd:ef" .split( ":" ); String.join( "a" , "b" , "c" ); // 12.Remove/Delete - removes part of a String StringUtils.remove( "queued" , 'u' ); // "qeed" StringUtils.removeAll( "A<__>\n<__>B" , "<.*>" ); // "A\nB" StringUtils.removeAll( "A<__>\n<__>B" , "(?s)<.*>" ); // "AB" StringUtils.removeAll( "ABCabc123abc" , "[a-z]" ); // "ABC123" StringUtils.deleteWhitespace( " ab c " ); // "abc" // 13.Replace/Overlay - Searches a String and replaces one String with another StringUtils.replace( "aba" , "a" , "z" ); // "zbz" StringUtils.replaceIgnoreCase( "aba" , "A" , "z" ); // "zbz" StringUtils.replace( "abaa" , "a" , "z" , 1); // "zbaa" StringUtils.replaceEach( "abcde" , new String[] { "ab" , "d" }, new String[] { "d" , "t" }); //"dcte" StringUtils.overlay( "abcdef" , "zzzz" , 2, 4); // "abzzzzef" // 还可使用: java.lang.String.replace "aba" .replace( "a" , "z" ); |
官方文档:https://commons.apache.org/proper/commons-lang/javadocs/api-release/index.htmljdk
文档:http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4
参考:https://www.cnblogs.com/linjiqin/p/3425359.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 个人数据保全计划:从印象笔记迁移到joplin
· Vue3.5常用特性整理
· 重拾 SSH:从基础到安全加固
· 为什么UNIX使用init进程启动其他进程?
2017-07-07 java 数组声明定义 数组内存分配 数组初始化 数组引用 数组的遍历