一、字符串的高效操作
package learn;
import java.io.UnsupportedEncodingException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class a{
public static void main(String[] args){
// TODO Auto-generated method stub
String str = " ZJU University in Zhejiang Province\n China, I love you!!!";
str = str.replaceAll("(?m)^ +", "");
// 删除每行开头部分所有空格,(?m)打开多行状态,为使每一行都达到这个效果,而不仅仅只是删除文本开头部分的空格。
System.out.println("打开多行状态下,删除开头部分的空格\n "+str);
str = str.replaceAll(" {2,}", " ");
// 将存在两个或者两个以上空格的地方,缩减为一个空格。
System.out.println(str);
Pattern p = Pattern.compile("[aeiou]");
Matcher m = p.matcher(str);
StringBuffer sbuf = new StringBuffer();
while (m.find()) { //m储存了匹配的状态,m.find()将返回true,false
m.appendReplacement(sbuf, m.group().toUpperCase());//执行一个非终端的添加于替换操作,m.group()找到匹配部分,toUpperCase()转换为大写
}
m.appendTail(sbuf);//执行一个终端的添加与替换操作
System.out.println(sbuf.toString());
m=Pattern.compile("[frb][aiu][gx]").matcher("fix the rug with bags");
while(m.find())
System.out.print(m.group()+"/t");
System.out.println();
m.reset("fix the rig with rags"); //重置这个匹配器
while(m.find())
System.out.print(m.group()+"/t");
System.out.println();
}
}
#输出
打开多行状态下,删除开头部分的空格
ZJU University in Zhejiang Province
China, I love you!!!
ZJU University in Zhejiang Province
China, I love you!!!
ZJU UnIvErsIty In ZhEjIAng PrOvIncE
ChInA, I lOvE yOU!!!
fix/trug/tbag/t
fix/trig/trag/t