Google Guava学习(10)-Guava字符串工具CharMatcher
2017-10-23 12:41
633 查看
1. 功能:处理字符串
2. 代码:
附录:
参考:
http://www.yiibai.com/guava/guava_charmatcher.html
http://blog.csdn.net/victor_cindy1/article/details/52073155
2. 代码:
package com.example.google.guava.demo.string; import com.google.common.base.CharMatcher; /** * <p> * <code>CharMatcherTest</code> * </p> * Description: * * @author Mcchu * @date 2017/10/23 12:14 */ public class CharMatcherTest { public static void main(String[] args) { // 1.获取字符串中数字 String str1 = "mahesh123ff87f"; String result1 = CharMatcher.digit().retainFrom(str1); System.out.println("1.获取字符串中数字:"+result1); // 2.把多个空格替换,并去掉首位的空格 String str2 = " Mahesh Parashar "; String result2 = CharMatcher.whitespace().trimAndCollapseFrom(str2, ' '); System.out.println("2.把多个空格替换,并去掉首位的空格"+result2); // 3.去掉转义字符(\t,\n,\b...) String str3 = " ab\tcd\nef\bg"; String result3 = CharMatcher.javaIsoControl().removeFrom(str3); System.out.println("3.去掉转义字符"+result3); // 4.把所有的数字用"*"代替 String str4 = "124abc85dds"; String result4 = CharMatcher.javaDigit().replaceFrom(str4,"*"); System.out.println("4.替换数字:"+result4); // 5.获取所有的数字和小写字母 String str5 = "124abc85ddsAF1HNsd"; String result5 = CharMatcher.javaDigit().or(CharMatcher.javaLowerCase()).retainFrom(str5); System.out.println("5.获取所有的数字和小写字母:"+result5); // 6.获取所有的大写字母 String result6 = CharMatcher.javaUpperCase().retainFrom(str5); System.out.println("6.获取所有的大写字母:"+result6); // 7.获取所有单字节长度的符号 String str7 = ",dg,123AH中国"; String result7 = CharMatcher.singleWidth().retainFrom(str7); System.out.println("7.获取所有单字节长度的符号:"+result7); // 8.获取字母 String str8 = "FirstName LastName +1 123 456 789 !@#$%^&*()_+|}{:\"?><"; String result8 = CharMatcher.javaLetter().retainFrom(str8); System.out.println("8.获取字母:"+result8); // 9.获取字母和数字 String result9 = CharMatcher.javaLetterOrDigit().retainFrom(str8); System.out.println("9.获取字母和数字:"+result9); // 10.出现次数统计 Integer count10 = CharMatcher.any().countIn(str8); System.out.println("10.出现次数:"+count10); // 11.数字出现次数 Integer count11 = CharMatcher.digit().countIn(str8);; System.out.println("11.数字出现次数:"+count11); // 12.获得除大写字母外其他所有字符 String result12 = CharMatcher.javaLowerCase().negate().retainFrom(str8); System.out.println("12.获得除大写字母外其他所有字符:"+result12); // CharMatcher本身提供了很多CharMatcher实现类,如下: // ANY: 匹配任何字符 // ASCII: 匹配是否是ASCII字符 // BREAKING_WHITESPACE: 匹配所有可换行的空白字符(不包括非换行空白字符,例如"\u00a0") // DIGIT: 匹配ASCII数字 // INVISIBLE: 匹配所有看不见的字符 // JAVA_DIGIT: 匹配UNICODE数字, 使用 Character.isDigit() 实现 // JAVA_ISO_CONTROL: 匹配ISO控制字符, 使用 Charater.isISOControl() 实现 // JAVA_LETTER: 匹配字母, 使用 Charater.isLetter() 实现 // JAVA_LETTER_OR_DIGET: 匹配数字或字母 // JAVA_LOWER_CASE: 匹配小写 // JAVA_UPPER_CASE: 匹配大写 // NONE: 不匹配所有字符 // SINGLE_WIDTH: 匹配单字宽字符, 如中文字就是双字宽 // WHITESPACE: 匹配所有空白字符 // CharMatcher is(char match): 返回匹配指定字符的Matcher // CharMatcher isNot(char match): 返回不匹配指定字符的Matcher // CharMatcher anyOf(CharSequence sequence): 返回匹配sequence中任意字符的Matcher // CharMatcher noneOf(CharSequence sequence): 返回不匹配sequence中任何一个字符的Matcher // CharMatcher inRange(char startInclusive, char endIncludesive): 返回匹配范围内任意字符的Matcher // CharMatcher forPredicate(Predicate<? super Charater> predicate): 返回使用predicate的apply()判断匹配的Matcher // CharMatcher negate(): 返回以当前Matcher判断规则相反的Matcher // CharMatcher and(CharMatcher other): 返回与other匹配条件组合做与来判断的Matcher // CharMatcher or(CharMatcher other): 返回与other匹配条件组合做或来判断的Matcher // boolean matchesAnyOf(CharSequence sequence): 只要sequence中有任意字符能匹配Matcher,返回true // boolean matchesAllOf(CharSequence sequence): sequence中所有字符都能匹配Matcher,返回true // boolean matchesNoneOf(CharSequence sequence): sequence中所有字符都不能匹配Matcher,返回true // int indexIn(CharSequence sequence): 返回sequence中匹配到的第一个字符的坐标 // int indexIn(CharSequence sequence, int start): 返回从start开始,在sequence中匹配到的第一个字符的坐标 // int lastIndexIn(CharSequence sequence): 返回sequence中最后一次匹配到的字符的坐标 // int countIn(CharSequence sequence): 返回sequence中匹配到的字符计数 // String removeFrom(CharSequence sequence): 删除sequence中匹配到到的字符并返回 // String retainFrom(CharSequence sequence): 保留sequence中匹配到的字符并返回 // String replaceFrom(CharSequence sequence, char replacement): 替换sequence中匹配到的字符并返回 // String trimFrom(CharSequence sequence): 删除首尾匹配到的字符并返回 // String trimLeadingFrom(CharSequence sequence): 删除首部匹配到的字符 // String trimTrailingFrom(CharSequence sequence): 删除尾部匹配到的字符 // String collapseFrom(CharSequence sequence, char replacement): 将匹配到的组(连续匹配的字符)替换成replacement // String trimAndCollapseFrom(CharSequence sequence, char replacement): 先trim在replace } }3. 输出结果:
1.获取字符串中数字:12387 2.把多个空格替换,并去掉首位的空格Mahesh Parashar 3.去掉转义字符 abcdefg 4.替换数字:***abc**dds 5.获取所有的数字和小写字母:124abc85dds1sd 6.获取所有的大写字母:AFHN 7.获取所有单字节长度的符号:,dg,123AH 8.获取字母:FirstNameLastName 9.获取字母和数字:FirstNameLastName1123456789 10.出现次数:54 11.数字出现次数:10 12.获得除大写字母外其他所有字符:FN LN +1 123 456 789 !@#$%^&*()_+|}{:"?><
附录:
参考:
http://www.yiibai.com/guava/guava_charmatcher.html
http://blog.csdn.net/victor_cindy1/article/details/52073155
相关文章推荐
- Google Guava学习(10)-Guava字符串工具Joiner
- Google Guava学习(10)-Guava字符串工具Spiltter
- Google Guava学习计划第一章Guava Utilities—Preconditions_ComparisonChain_Strings_CharMatcher
- Google Guava学习(6)-Guava集合工具 Multiset
- Google Guava学习(8)-Guava集合工具 Table接口
- Google Guava学习(7)-Guava集合工具 Bimap接口
- Guava学习——字符串工具
- Google Guava学习(9)-Guava Cache缓存工具(二)
- Google Guava学习(9)-Guava Cache缓存工具(一)
- java开发人员,最应该学习和熟练使用的工具类。google guava.(谷歌 瓜娃)
- Guava学习笔记【10】:Guava新集合-Table等
- Guava学习笔记:Google Guava 类库简介
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
- Guava学习(基本工具)——Optional
- 字符串处理:分割,连接,填充 Google Guava
- Guava学习笔记:Google Guava 类库简介
- Google Guava学习(1)-Guava Optional类
- 【C++学习笔记】10_C风格字符串
- Google-Guava学习:用Optional<T>表示可能为null的T类型引用
- 算法学习之旅,初级篇(10)--回文字符串