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

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

如何從數組對象中刪除 £ 符號并保存它?

如何從數組對象中刪除 £ 符號并保存它?

開心每一天1111 2022-08-03 10:11:58
我正在為一個大學項目編寫一個基本的聊天機器人。我到了用戶必須通過輸入金額來設置預算的地步。目前,該程序能夠在用戶的消息中搜索數字并正確保存。但是,當 £ 符號作為前綴時,由于郵件中包含井號,因此無法保存為整數。這是我的代碼://Scan the user message for a budget amount and save it.    for (int budgetcount = 0; budgetcount < words.length; budgetcount++)     {        if (words[budgetcount].matches(".*\\d+.*"))        {            if (words[budgetcount].matches("\\u00A3."))            {                words[budgetcount].replace("\u00A3", "");                System.out.println("Tried to replace a pound sign");                ResponsesDAO.budget = Integer.parseInt(words[budgetcount]);            }            else            {                System.out.println("Can't find a pound sign here.");            }        }我以前嘗試過.contains()和其他指示它是我要刪除的磅符號的方法,但我仍然得到“在這里找不到磅符號”打印出來。如果有人可以提供建議或糾正我的代碼,我將不勝感激。
查看完整描述

2 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

Strings在JAVA中是不可變的。您正在替換,但從未將結果重新分配給 。words[budgetcount]


更改代碼中的以下行,


words[budgetcount] = words[budgetcount].replace("\u00A3", "");

這是另一種方法,通過使用來識別數字并編織一個僅數字字符串,該字符串以后可以解析為整數,Character.isDigit(...)


代碼段:


private String removePoundSign(final String input) {

    StringBuilder builder = new StringBuilder();

    for (int i = 0; i < input.length(); i++) {

        char ch = input.charAt(i);

        if (Character.isDigit(ch)) {

            builder.append(ch);

        }

    }

    return builder.toString();

}

輸入:


System.out.println(removePoundSign("£12345"));

輸出:


12345


查看完整回答
反對 回復 2022-08-03
?
有只小跳蛙

TA貢獻1824條經驗 獲得超8個贊

您也可以使用方法。String.replaceAll


代碼片段:


public class TestClass {


    public static void main(String[] args){


        //Code to remove non-digit number

        String budgetCount = "£34556734";

        String number=budgetCount.replaceAll("[\\D]", "");

        System.out.println(number);


        //Code to remove any specific characters

        String special = "$4351&2.";

        String result = special.replaceAll("[$+.^&]",""); // regex pattern

        System.out.println(result);


    }

}

輸出:


34556734

43512


查看完整回答
反對 回復 2022-08-03
  • 2 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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