Android如何使用正则表达式只保留字母数字

 更新时间:2022年05月26日 11:43:57   作者:最孤单的人  
在做项目的过程中,使用正则表达式来匹配一段文本中的特定种类字符,是比较常用的一种方式,下面这篇文章主要给大家介绍了关于Android如何使用正则表达式只保留字母数字的相关资料,需要的朋友可以参考下

前言

正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

#1. 匹配字母(大写/小写)和数字的字符

正则表达式:[^a-zA-Z0-9]

#2. 使用正则表达式,将给定的字符串进行处理,只保留字母和数字:

我们需要将非字母和数字进行替换空替换,即需要匹配非字母和数字,

正则表达式为: [^a-zA-Z0-9]

/**
 * 删除特殊字符并仅显示字母数字字符:
 * 没有破折号,没有散列,没有崩溃或斜线,没有空格,等等
 *
 * @return 字符串只有字母数字字符
 */
fun String.formatToAlphanumeric(): String = this.replace("[^a-zA-Z0-9]*".toRegex(), "")

#3. 添加单元测试:

    @Test
    fun formatToAlphanumericTest() {
        val expectedString  = "33K212A"
        val stringWithDash = "33K-21-2A"
        val stringWithSpace = "33-K21 2A "
        assertEquals(expectedString, stringWithDash.formatToAlphanumeric())
        assertEquals(expectedString, stringWithSpace.formatToAlphanumeric())
    }

附:android 利用正则表达式 控制edittext只能输入数字、英文、汉字

通过正则表达式来判断。下面的例子只允许显示字母、数字和汉字。

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如何使用正则表达式只保留字母数字的文章就介绍到这了,更多相关Android正则保留字母数字内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 圣诞节,写个程序练练手————Android 全界面悬浮按钮实现

    圣诞节,写个程序练练手————Android 全界面悬浮按钮实现

    这篇文章主要介绍了圣诞节,写个程序练练手————Android 全界面悬浮按钮实现的相关资料,需要的朋友可以参考下
    2015-12-12
  • 解析Android开发中多点触摸的实现方法

    解析Android开发中多点触摸的实现方法

    多点触摸(MultiTouch),指的是允许计算机用户同时通过多个手指来控制图形界面的一种技术。与多点触摸技术相对应的就是单点触摸,单点触摸的设备已经有很多年了,小尺寸的有触摸式的手机,大尺寸的最常见的就是银行里的ATM机和排队查询机等等
    2013-05-05
  • Android 边播边缓存的实现(MP4 未加密m3u8)

    Android 边播边缓存的实现(MP4 未加密m3u8)

    这篇文章主要介绍了Android 边播边缓存的实现(MP4 未加密m3u8),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • Flutter下Android Studio配置gradle的方法

    Flutter下Android Studio配置gradle的方法

    这篇文章主要介绍了Flutter下Android Studio配置gradle的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Android中创建对话框(确定取消对话框、单选对话框、多选对话框)实例代码

    Android中创建对话框(确定取消对话框、单选对话框、多选对话框)实例代码

    这篇文章主要介绍了详解Android中创建对话框(确定取消对话框、单选对话框、多选对话框)的相关资料,需要的朋友可以参考下
    2016-04-04
  • Android新建水平节点进度条示例

    Android新建水平节点进度条示例

    这篇文章主要为大家介绍了Android新建水平节点进度条示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • Android项目中使用HTTPS配置的步骤详解

    Android项目中使用HTTPS配置的步骤详解

    这篇文章主要给大家介绍了关于Android项目中使用HTTPS配置步骤的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • Android证书安装过程介绍

    Android证书安装过程介绍

    大家好,本篇文章主要讲的是Android证书安装过程介绍,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Android记事本项目开发

    Android记事本项目开发

    这篇文章主要为大家详细介绍了Android记事本项目开发的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • Android深入探究自定义View之嵌套滑动的实现

    Android深入探究自定义View之嵌套滑动的实现

    什么是嵌套滑动?当我们向下滑动时,首先是外部的布局向下滑动,然后才是内部的RecyclerView滑动,向上滑动也是如此。这就是嵌套滑动的效果
    2021-11-11

最新评论