本文小编为大家详细介绍“Android怎么使用正则表达式只保留字母数字”,内容详细,步骤清晰,细节处理妥当,希望这篇“Android怎么使用正则表达式只保留字母数字”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式:[^a-zA-Z0-9]
我们需要将非字母和数字进行替换空替换,即需要匹配非字母和数字,
正则表达式为: [^a-zA-Z0-9]
/**
* 删除特殊字符并仅显示字母数字字符:
* 没有破折号,没有散列,没有崩溃或斜线,没有空格,等等
*
* @return 字符串只有字母数字字符
*/
fun String.formatToAlphanumeric(): String = this.replace("[^a-zA-Z0-9]*".toRegex(), "")
@Test
fun formatToAlphanumericTest() {
val expectedString = "33K212A"
val stringWithDash = "33K-21-2A"
val stringWithSpace = "33-K21 2A "
assertEquals(expectedString, stringWithDash.formatToAlphanumeric())
assertEquals(expectedString, stringWithSpace.formatToAlphanumeric())
}
通过正则表达式来判断。下面的例子只允许显示字母、数字和汉字。
public static String stringFilter(String str)throws PatternSyntaxException{
// 只允许字母、数字和汉字
String regEx = "[^a-zA-Z0-9\u4E00-\u9FA5]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
//点击事件调用上述方法
tv_other.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
nicheng = ed_xiugainicheng.getText().toString();
String str = stringFilter(nicheng.toString());
if(!nicheng.equals(str)){
Toast.makeText(WoXiuGaiNiChengActivity.this, "不能输入非法字符!" , Toast.LENGTH_SHORT).show();
}
}
读到这里,这篇“Android怎么使用正则表达式只保留字母数字”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。