Android如何使用正則表達(dá)式只保留字母數(shù)字
前言
正則表達(dá)式是對(duì)字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個(gè)“規(guī)則字符串”,這個(gè)“規(guī)則字符串”用來(lái)表達(dá)對(duì)字符串的一種過(guò)濾邏輯。
#1. 匹配字母(大寫/小寫)和數(shù)字的字符
正則表達(dá)式:[^a-zA-Z0-9]
#2. 使用正則表達(dá)式,將給定的字符串進(jìn)行處理,只保留字母和數(shù)字:
我們需要將非字母和數(shù)字進(jìn)行替換空替換,即需要匹配非字母和數(shù)字,
正則表達(dá)式為: [^a-zA-Z0-9]
/**
* 刪除特殊字符并僅顯示字母數(shù)字字符:
* 沒(méi)有破折號(hào),沒(méi)有散列,沒(méi)有崩潰或斜線,沒(méi)有空格,等等
*
* @return 字符串只有字母數(shù)字字符
*/
fun String.formatToAlphanumeric(): String = this.replace("[^a-zA-Z0-9]*".toRegex(), "")
#3. 添加單元測(cè)試:
@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 利用正則表達(dá)式 控制edittext只能輸入數(shù)字、英文、漢字
通過(guò)正則表達(dá)式來(lái)判斷。下面的例子只允許顯示字母、數(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ǎn)擊事件調(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如何使用正則表達(dá)式只保留字母數(shù)字的文章就介紹到這了,更多相關(guān)Android正則保留字母數(shù)字內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android自定義viewgroup 使用adapter適配數(shù)據(jù)(6)
這篇文章主要為大家詳細(xì)介紹了Android自定義viewgroup,使用adapter適配數(shù)據(jù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
理解Android的手勢(shì)識(shí)別提高APP的用戶體驗(yàn)
對(duì)于觸摸屏,其原生的消息無(wú)非按下、抬起、移動(dòng)這幾種,我們只需要簡(jiǎn)單重載onTouch或者設(shè)置觸摸偵聽器setOnTouchListener即可進(jìn)行處理2013-06-06
Android編程實(shí)現(xiàn)屏幕禁止休眠的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)屏幕禁止休眠的方法,分析了Android的Manifest.xml設(shè)置與代碼實(shí)現(xiàn)兩種操作技巧,需要的朋友可以參考下2016-10-10
Android實(shí)現(xiàn)后臺(tái)開啟服務(wù)默默拍照功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)后臺(tái)開啟服務(wù)默默拍照功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android實(shí)現(xiàn)九宮格手勢(shì)解鎖
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)九宮格手勢(shì)解鎖的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
Android實(shí)現(xiàn)ViewFlipper圖片動(dòng)畫滑動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)ViewFlipper圖片動(dòng)畫滑動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05

