欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android如何使用正則表達式只保留字母數(shù)字

 更新時間:2022年05月26日 11:43:57   作者:最孤單的人  
在做項目的過程中,使用正則表達式來匹配一段文本中的特定種類字符,是比較常用的一種方式,下面這篇文章主要給大家介紹了關(guān)于Android如何使用正則表達式只保留字母數(shù)字的相關(guān)資料,需要的朋友可以參考下

前言

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(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)文章

最新評論