第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

如何從隨機(jī)字符串消息中提取 6 位數(shù)字?6 位數(shù)字不在消息的開頭或結(jié)尾

如何從隨機(jī)字符串消息中提取 6 位數(shù)字?6 位數(shù)字不在消息的開頭或結(jié)尾

12345678_0001 2023-07-19 15:02:50
我有一條帶有 6 位 OTP 的字符串消息。但這不是在開始或結(jié)束時(shí)。所以索引沒有幫助。替換是有效的,但我的消息可能隨時(shí)改變,所以這個(gè)技巧也失敗了。我的消息示例:您的一次性密碼是:123456FA+9qCX9VSuString subFirst= message.replace("<#> Your OTP code is : ", ""); String finalOTP = message.replace("FA+9qCX9VSu", "");它僅產(chǎn)生此靜態(tài)消息的預(yù)期結(jié)果。如何僅獲取任何消息的 6 位數(shù)字?;蛘哌€有其他方法從消息中提取 OTP 嗎?
查看完整描述

7 回答

?
慕婉清6462132

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超2個(gè)贊

你可以這樣得到otp。

String allNum=message.replaceAll("[^0-9]","");
String otp=allNum.substring(0,6);


查看完整回答
反對 回復(fù) 2023-07-19
?
哈士奇WWW

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超6個(gè)贊

您可以從任何消息中提取任意 6 位數(shù)字String。“|” 用于查找更多可能的組合。只有“\d{6}”還可以為您的問題提供正確的結(jié)果。


//find any 6 digit number

Pattern mPattern = Pattern.compile("(|^)\\d{6}");


if(message!=null) {

    Matcher mMatcher = mPattern.matcher(message);

    if(mMatcher.find()) {

        String otp = mMatcher.group(0);

        Log.i(TAG,"Final OTP: "+ otp);

    }else {

        //something went wrong

        Log.e(TAG,"Failed to extract the OTP!! ");

    }

}


查看完整回答
反對 回復(fù) 2023-07-19
?
叮當(dāng)貓咪

TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個(gè)贊

String message="OTP 為 145673,并且在接下來的 20 分鐘內(nèi)同樣有效"; 

System.out.println(message.replaceFirst("\d{6}", "******"));

我希望這有幫助。


查看完整回答
反對 回復(fù) 2023-07-19
?
LEATH

TA貢獻(xiàn)1936條經(jīng)驗(yàn) 獲得超7個(gè)贊

如果您的消息始終以“您的 OTP 代碼是:”開頭,并且在代碼后有換行符 (\n),則使用以下內(nèi)容:


Pattern pattern = Pattern.compile("is : (.*?)\\n", Pattern.DOTALL);

    Matcher matcher = pattern.matcher(message);

    while (matcher.find()) {

      Log.i("tag" , matcher.group(1));

    }


查看完整回答
反對 回復(fù) 2023-07-19
?
鴻蒙傳說

TA貢獻(xiàn)1865條經(jīng)驗(yàn) 獲得超7個(gè)贊

您可以使用正則表達(dá)式查找數(shù)字子字符串,只需從子字符串中先取 6。

查看完整回答
反對 回復(fù) 2023-07-19
?
滄海一幻覺

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超5個(gè)贊

使用這樣的正則表達(dá)式:


public static void main(final String[] args) {

    String input = "Your OTP code is : 123456\r\n" + "\r\n" + "FA+9qCX9VSu";

    Pattern regex = Pattern.compile(":\\s([0-9]{6})");

    Matcher m = regex.matcher(input);

    if (m.find()) {

        System.out.println(m.group(1));

    }

}


查看完整回答
反對 回復(fù) 2023-07-19
?
牛魔王的故事

TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊

嘗試一下希望這會對您有所幫助。


String expression = "[0-9]{6}";

    CharSequence inputStr = message;


    Pattern pattern = Pattern.compile(expression, Pattern.CASE_INSENSITIVE);

    Matcher matcher = pattern.matcher(inputStr);


查看完整回答
反對 回復(fù) 2023-07-19
  • 7 回答
  • 0 關(guān)注
  • 264 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號