正则表达式匹配是否全部由字母组成

应用场景:学员名称的第二个字用*代替,其他字正常显示,注:如果学员名称全为英文,则不用*号隐藏,显示全称(学员名称从子表中获取,要防止其为空,需要加一个判断,如果取出来字段不为空,执行,为空不执行,否则会报空指针异常)

controller中代码片段:注:list中已从数据库取得学员名称信息

for(int i=0; i<list.size(); i++){

Map map = list.get(i);

String caluname = (String) map.get("caluname");

if (Tools.isNotNull(caluname)) {

if (caluname.length()>=2) {

Pattern p = Pattern.compile("^[A-Za-z]+$");

Matcher m = p.matcher(caluname);

boolean isValid = m.matches();

if (!isValid) {

caluname = caluname.substring(0, 1) + "*" + caluname.substring(2, caluname.length());

map.put("caluname", caluname);

}

}

}

}

 

你可能感兴趣的:(Java学习笔记,正则表达式,java)