Android如何使用正則表達式只保留字母數(shù)字
前言
正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。
#1. 匹配字母(大寫/小寫)和數(shù)字的字符
正則表達式:[^a-zA-Z0-9]
#2. 使用正則表達式,將給定的字符串進行處理,只保留字母和數(shù)字:
我們需要將非字母和數(shù)字進行替換空替換,即需要匹配非字母和數(shù)字,
正則表達式為: [^a-zA-Z0-9]
/** * 刪除特殊字符并僅顯示字母數(shù)字字符: * 沒有破折號,沒有散列,沒有崩潰或斜線,沒有空格,等等 * * @return 字符串只有字母數(shù)字字符 */ 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只能輸入數(shù)字、英文、漢字
通過正則表達式來判斷。下面的例子只允許顯示字母、數(shù)字和漢字。
public static String stringFilter(String str)throws PatternSyntaxException{ ? ?? ? ? ? // 只允許字母、數(shù)字和漢字 ? ? ? ? ? ? String ? regEx ?= ?"[^a-zA-Z0-9\u4E00-\u9FA5]"; ? ? ? ? ? ? ? ? ? ?? ? ? ? Pattern ? p ? = ? Pattern.compile(regEx); ? ?? ? ? ? Matcher ? m ? = ? p.matcher(str); ? ?? ? ? ? return ? m.replaceAll("").trim(); ? ?? ? } //點擊事件調(diào)用上述方法 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(); ? ? } }
總結(jié)
到此這篇關(guān)于Android如何使用正則表達式只保留字母數(shù)字的文章就介紹到這了,更多相關(guān)Android正則保留字母數(shù)字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Dcloud的native.js直接撥打電話Android實例代碼
本文為大家分享了3種利用Dcloud的native.js直接撥打電話實例代碼,由于iOS系統(tǒng)的限制所以只有Android版實例2018-09-09Android實現(xiàn)仿微軟系統(tǒng)加載動畫效果
這篇文章主要介紹了Android實現(xiàn)仿微軟系統(tǒng)加載動畫效果的方法,幫助大家更好的理解和學習使用Android,感興趣的朋友可以了解下2021-04-04Android自定義view實現(xiàn)列表內(nèi)左滑刪除Item
這篇文章主要介紹了微信小程序列表中item左滑刪除功能,本文分步驟給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02Android編程處理窗口控件大小,形狀,像素等UI元素工具類
這篇文章主要介紹了Android編程處理窗口控件大小,形狀,像素等UI元素工具類,可實現(xiàn)像素與dp的轉(zhuǎn)換、窗口寬度設(shè)置、彈出窗口中l(wèi)istview高度設(shè)置等功能,需要的朋友可以參考下2017-12-12