正则:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
用javautil包就好
1.find()找匹配的位置
2.lookingat()部分匹配
3.matches()完全匹配
4.appendReplacement全部替代
5.replaceAll全部替代
转义:
import org.apache.commons.lang3.StringEscapeUtils;
用apache的包
StringEscapeUtils.escapeJava
StringEscapeUtils.unescapeJava
字符列表拼接和拆分、驼峰命名:
import com.google.common.base.CaseFormat;
import com.google.common.base.Splitter;
import com.google.common.collect.Lists;
用google的包
Lists.newArrayList 直接初始化list
Splitter.on(’,’)
.trimResults()
.omitEmptyStrings()
.split(“123,321, abc”);
拆分字符串,忽略空,以及实现trim
String s1 = “CONSTANT_NAME”;
String s2 = CaseFormat.UPPER_UNDERSCORE.to(CaseFormat.LOWER_CAMEL, s1);
转成正确的驼峰命名
输入流的模拟:从文件读oj输入:
import org.apache.commons.io.Charsets; import org.apache.commons.io.IOUtils; import java.io.InputStream; import java.util.linkedList; import java.util.List; import java.util.Scanner; public class String2InputStream { public static void main(String[] args) { //构造字符串列表 Listnames = new linkedList (); names.add("Xiaohong"); names.add("Xiaoming"); names.add("Daming"); names.add("Xiaohei"); //合并为一个字符串,以逗号相连 String nameStr = String.join(",",names); //将字符串作为默认的输入流 InputStream in = IOUtils.toInputStream(nameStr, Charsets.toCharset("UTF-8")); //重置系统的输入流 System.setIn(in); //模拟键盘输入 这也是OJ平台测试用例输入的原理 //此处也可以换成一个文件输入流 Scanner sc=new Scanner(System.in); sc.useDelimiter(","); while(sc.hasNext()) { System.out.println(sc.next()); } } }
输入流,分隔符,hasnext()
列表转字符串:
import org.apache.commons.lang3.StringUtils;
StringUtils.join(names, “,”)比String.join(",", names);更强悍
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)