Guava学习——字符串工具
2017-10-23 20:55
337 查看
Guava提供的字符串工具
Joiner:加入对象,字符串
Spilter:程序用来分割字符串
CharMatcher:字符操作
CaseFormat:用于改变字符串格式
几个好用方法
测试
测试结果
几个好用的方法
测试
测试结果
package guavaDome;
import com.google.common.base.CharMatcher;
public class CharMatcherDome {
public static void main(String args[]){
CharMatcherDome tester = new CharMatcherDome();
tester.testCharMatcher();
}
}
123
Mahesh Parashar
mahesh***
mahesh123
//类的声明
@GwtCompatible
public enum CaseFormat
extends Enum
//返回一个转换,从这个格式转换targetFormat字符串。
Converter
package guavaDome;
import com.google.common.base.CaseFormat;
public class CaseFormatDome {
public static void main(String args[]) {
CaseFormatDome tester = new CaseFormatDome();
tester.testCaseFormat();
}
}
“`
testData
testData
TestData
Joiner:加入对象,字符串
Spilter:程序用来分割字符串
CharMatcher:字符操作
CaseFormat:用于改变字符串格式
Joiner
处理字符串加入操作,对象//类的声明 @GwtCompatible public class Joiner extends Object
几个好用方法
//返回一个加入者其连续元素之间自动地分隔符 static Joiner on(String separator/char separator) //返回一个包含每个参数的字符串表示,使用每个之间先前配置的分隔符的字符串。 String join(Object first, Object second, Object... rest) //每个追加部分的字符串表示,使用每个之间先前配置的分离器,为构建者 StringBuilder appendTo(StringBuilder builder, Iterable<?> parts) //返回一个相同的行为,因为这加入者,除了自动跳过任何提供空元素的加入者。 Joiner skipNulls() **//返回一个相同的行为,因为这一个加入者,除了自动替换nullText任何提供null元素 Joiner useForNull(String nullText)**//如果有老哥看明白了留个言没测试
测试
package guavaDome; import java.util.Arrays; import com.google.common.base.Joiner; public class JoinerDome { public static void main(String args[]){ JoinerDome tester = new JoinerDome(); tester.testJoiner(); } //跳过null private void testJoiner(){ System.out.println(Joiner.on(",") .skipNulls() .join(Arrays.asList(1,2,3,4,5,null,6))); } }
测试结果
1,2,3,4,5,6
Splitter
Splitter 提供了各种方法来处理分割操作字符串,对象等//类的声明 @GwtCompatible(emulated=true) public final class Splitter extends Object
几个好用的方法
//返回使用给定的单字符分离器分离器 static Splitter on(char separator) //返回分离器的考虑任何序列匹配一个给定模式(正则表达式)是一个分隔符 static Splitter onPattern(String separatorPattern) //返回分离器的行为等同于该分离器,但会自动删除开头和结尾的空白,从每个返回子;相当于trimResults(CharMatcher.WHITESPACE). Splitter trimResults()
测试
package guavaDome; import com.google.common.base.Splitter; public class SplitterDome { public static void main(String args[]) { SplitterDome tester = new SplitterDome(); tester.testSplitter(); } private void testSplitter() { System.out.println(Splitter.on(',').trimResults().omitEmptyStrings() .split("the ,quick, , brown , fox, jumps, over, the, lazy, little dog.")); } }
测试结果
[the, quick, brown, fox, jumps, over, the, lazy, little dog.]
CharMatcher
CharMatcher提供了各种方法来处理各种JAVA char类型值//类的声明 @GwtCompatible(emulated=true) public final class CharMatcher extends Object``` 字段 S.N. 字段及说明 1 static CharMatcher ANY 匹配任意字符。 2 static CharMatcher ASCII 确定字符是否为ASCII码,这意味着它的代码点低于128。 3 static CharMatcher BREAKING_WHITESPACE 确定一个字符是否是一个破空白(即,一个空格可以解释为格式目的词之间休息)。 4 static CharMatcher DIGIT 确定一个字符是否是根据Unicode数字。 5 static CharMatcher INVISIBLE 确定一个字符是否是看不见的;也就是说,如果它的Unicode类是任何SPACE_SEPARATOR,LINE_SEPARATOR,PARAGRAPH_SEPARATOR,控制,FORMAT,SURROGATE和PRIVATE_USE根据ICU4J。 6 static CharMatcher JAVA_DIGIT 确定一个字符是否是按照Java的定义一个数字。 7 static CharMatcher JAVA_ISO_CONTROL 确定一个字符是否是所指定的Character.isISOControl(char)ISO控制字符。 8 static CharMatcher JAVA_LETTER 确定一个字符是否是按照Java的定义的字母。 9 static CharMatcher JAVA_LETTER_OR_DIGIT 确定一个字符是否是按照Java的定义,一个字母或数字。 10 static CharMatcher JAVA_LOWER_CASE 确定一个字符是否是按照Java定义的小写。 11 static CharMatcher JAVA_UPPER_CASE 确定一个字符是否是按照Java定义的大写。 12 static CharMatcher NONE 匹配任何字符。 13 static CharMatcher SINGLE_WIDTH 确定一个字符是否是单宽度(不是双倍宽度)。 14 static CharMatcher WHITESPACE 决定根据最新的Unicode标准是否字符是空白,如图所示这里。 测试
package guavaDome;
import com.google.common.base.CharMatcher;
public class CharMatcherDome {
public static void main(String args[]){
CharMatcherDome tester = new CharMatcherDome();
tester.testCharMatcher();
}
private void testCharMatcher(){ System.out.println(CharMatcher.DIGIT.retainFrom("mahesh123")); // only the digits System.out.println(CharMatcher.WHITESPACE.trimAndCollapseFrom(" Mahesh Parashar ", ' ')); // trim whitespace at ends, and replace/collapse whitespace into single spaces System.out.println(CharMatcher.JAVA_DIGIT.replaceFrom("mahesh123", "*")); // star out all digits System.out.println(CharMatcher.JAVA_DIGIT.or(CharMatcher.JAVA_LOWER_CASE).retainFrom("mahesh123")); // eliminate all characters that aren't digits or lowercase }
}
测试结果
123
Mahesh Parashar
mahesh***
mahesh123
##caseFormat## CaseFormat是一种实用工具类,以提供不同的ASCII字符格式之间的转换
//类的声明
@GwtCompatible
public enum CaseFormat
extends Enum
字段 S.N. 枚举常量和说明 1 LOWER_CAMEL Java变量的命名规则,如“lowerCamel”。 2 LOWER_HYPHEN 连字符连接变量的命名规则,如“lower-hyphen”。 3 LOWER_UNDERSCORE C ++变量命名规则,如“lower_underscore”。 4 UPPER_CAMEL Java和C++类的命名规则,如“UpperCamel”。 5 UPPER_UNDERSCORE Java和C++常量的命名规则,如“UPPER_UNDERSCORE”。 方法
//返回一个转换,从这个格式转换targetFormat字符串。
Converter
测试
package guavaDome;
import com.google.common.base.CaseFormat;
public class CaseFormatDome {
public static void main(String args[]) {
CaseFormatDome tester = new CaseFormatDome();
tester.testCaseFormat();
}
private void testCaseFormat() { String data = "test_data"; System.out.println(CaseFormat.LOWER_HYPHEN.to(CaseFormat.LOWER_CAMEL, "test-data")); System.out.println(CaseFormat.LOWER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, "test_data"));`这里写代码片` System.out.println(CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.UPPER_CAMEL, "test_data")); }
}
“`
testData
testData
TestData
相关文章推荐
- Google Guava学习(10)-Guava字符串工具CharMatcher
- Google Guava学习(10)-Guava字符串工具Joiner
- Google Guava学习(10)-Guava字符串工具Spiltter
- Guava学习(基本工具)——Optional
- Google Guava学习(6)-Guava集合工具 Multiset
- guava学习笔记--字符串处理
- 后缀数组——处理字符串的有力工具,好好学习
- Google Guava学习(9)-Guava Cache缓存工具(二)
- 安卓学习-其他-字符串转码工具
- ] Guava学习笔记之Joiner ,Strings,Splitter 工具实例
- 后缀数组处理字符串的有力工具--近期学习谈不上计划的小计划
- Google Guava学习(8)-Guava集合工具 Table接口
- [Guava学习笔记]Strings: 字符串处理
- guava学习笔记-本地缓存工具
- Guava学习——集合工具
- java开发人员,最应该学习和熟练使用的工具类。google guava.(谷歌 瓜娃)
- java代码之美(8)---guava字符串工具
- guava学习笔记-基本工具
- Google Guava学习(9)-Guava Cache缓存工具(一)
- Guava学习笔记之Joiner ,Strings,Splitter 工具实例