簡體   English   中英

如何檢查字符串是否包含任何特殊字符?

[英]How to check is string contains any of special characters?

我想檢查一些字符串是否包含來自 UNICODE 字符集的任何特殊符號。 以前我用正則表達式字符集對其進行了硬編碼,但現在字符列表已擴展,現在不能選擇對其進行硬編碼。 如何設置此檢查?

你可以遍歷你的字符串和每個字符調用,然后

public static boolean checkingUnicode(String text){

        char[] arr = text.toCharArray();

        for(int i=0; i<arr.length; i++){
            char c = arr[i];
            if(Character.UnicodeBlock.of(c) != Character.UnicodeBlock.BASIC_LATIN){
                return true;
            }
        }
        return false;
    }

希望它有效

有一個使用正則表達式的選項。

如果它與正則表達式[a-zA-Z0-9 ]匹配,則其中沒有特殊字符。

Pattern p = Pattern.compile("[a-zA-Z0-9 ]", Pattern.CASE_INSENSITIVE);
Matcher m = p.matcher("I am a string");
boolean containsSpecialChar = m.find();
if(containsSpecialChar){
// Do what you need.
}

希望這會幫助你。

我認為是可以實現的。 您需要定義一個可能的特殊字符列表,並在loop應用條件以檢查列表中的每個字符是否包含該特殊字符。

使用名為 Regex 的方法。

                String s= e2.getText().toString();
                Pattern pattern = Pattern.compile("\\d{11}"); //CHANGE PATTERN CONDITIONS ACCORDINGLY
                Matcher matcher = pattern.matcher(s); //CHECKS THE PATTERN WITH THE INPUT STRING

                if (matcher.matches()) {
                   // YOUR METHODS 
                }
                else
                {
                    //PRINT AN ERROR TEXT
                }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM