亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何在 java 中按數據類型拆分字符串?

如何在 java 中按數據類型拆分字符串?

慕哥9229398 2023-05-17 17:21:01
在我的 Spigot 插件中,玩家輸入一個命令,例如/logging chat clear 1d. 參數編號 2(第 3 個參數)需要1d針對日期進行解析(例如 1d = 1 天,15m = 15 分鐘)。我已經弄清楚了解析部分,但是當我嘗試解析多個數字(1 對 11)時,我的解析不起作用,因為我根據字符進行拆分,而不是根據它是整數還是字符串。然后我String[] part = arg3.split("");將第一個字符作為數字,將第二個字符作為字符串。 我該怎么做,但拆分以便我可以有多個號碼?(正則表達式?)
查看完整描述

3 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

private void myMethod() {

    String integers = "";

    String characters = "";

    String splitArgument = ""; //this is the 1d or 11d part

    for(int x = 0; x < splitArgument.length(); x++) {

        Char currentChar = splitArgument.charAt(x);

        if(Character.isDigit(currentChar)) {

            integers += currentChar;

        }else {

            characters += currentChar;

        }

    }

}

其中 myMethod 僅表示您正在分析輸入的代碼區域。您可以創建一個方法(如 isInteger()),從您正在檢查的字符串中獲取字符并確定它們是否為整數/字符串并重新連接字符串為他們。對于整數部分,您可以執行以下操作:


int myInteger = Integer.parseInt(integers);


查看完整回答
反對 回復 2023-05-17
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

使用正則表達式。


import java.util.regex.*;

Pattern pattern = Pattern.compile("(\\d+)([a-zA-Z]+)");

Matcher matcher = pattern.matcher(text);

if(matcher.find()){

    String number = matcher.group(1);

    String letters = matcher.group(2);

}


查看完整回答
反對 回復 2023-05-17
?
梵蒂岡之花

TA貢獻1900條經驗 獲得超5個贊

您可以簡單地執行此操作,條件date是參數character在String.


public static String[] splitDate(String date)

{

    int length = date.length();

    String[] results = {date.substring(0, length - 1), date.substring(length - 1)};

    return results;

}

的輸入110w將返回一個數組{110, w}。


此方法只是使用substring基于的長度String并將數字與最終字符分開。


查看完整回答
反對 回復 2023-05-17
  • 3 回答
  • 0 關注
  • 232 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號