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

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

用0,1代替“”替換字符串的一部分

用0,1代替“”替換字符串的一部分

慕婉清6462132 2021-04-05 12:09:38
   mSwitch.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            if (mSwitch.getText().equals("Everybody")) {                PRIVACY = PRIVACY.replace(PRIVACY.substring(0, 1), "E");                Log.d("TEXT", PRIVACY);            } else if (mSwitch.getText().equals("Nobody")) {                PRIVACY = PRIVACY.replace(PRIVACY.substring(0, 1), "N");                Log.d("TEXT", PRIVACY);            }        }    });隱私字符串=“ E / E / N / N / E ........ / N我有多個用于更改每個字符的按鈕只是一個隨機的字符,用“ /”分隔因此,在單擊切換按鈕時,我想用E或N替換一個字符,但是上面的代碼我替換了所有類似結果的結果,要么是E / E / E / E / E ....要么是N / N / N / N / N ...我哪里出問題了?
查看完整描述

2 回答

?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

這行:


PRIVACY = PRIVACY.replace(PRIVACY.substring(0, 1), "E")

會在PRIVACY每次出現的第一個字符都替換為“ E”的情況下替換內部,

因為該replace()方法的第一個參數是要查找的字符串。

像這樣做:


mSwitch.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        if (mSwitch.getText().equals("Everybody")) {

            PRIVACY = "E" + PRIVACY.substring(1);

            Log.d("TEXT", PRIVACY);

        } else if (mSwitch.getText().equals("Nobody")) {

            PRIVACY = "N" + PRIVACY.substring(1);

            Log.d("TEXT", PRIVACY);

        }

    }

});

PRIVACY.substring(1)是PRIVACY的一部分,從第二個字符開始直至結束。

編輯

如果要用“ A”代替第5個字符:


PRIVACY = PRIVACY.substring(0, 5) + "A" + PRIVACY.substring(6);

查看更多substring()


查看完整回答
反對 回復 2021-04-14
?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

有多種選擇可在一個位置替換一個字符。其中之一是使用stringbuilder。


例子:


 mSwitch.setOnClickListener(new View.OnClickListener() {

    @Override

    public void onClick(View v) {

        if (mSwitch.getText().equals("Everybody")) {

            StringBuilder stringBuilder = new StringBuilder(PRIVACY[0]);

            stringbuilder.setCharAt(0, 'N'); //you can also use "N".charAt(0) instead of 'N'

            Log.d("TEXT", stringbuilder.toString());

        } else if (mSwitch.getText().equals("Nobody")) {

            StringBuilder stringBuilder = new StringBuilder(PRIVACY[0]);

            stringbuilder.setCharAt(0, 'E'); //you can also use "E".charAt(0) instead of 'E'

            Log.d("TEXT", stringbuilder.toString());

        }

    }

});


查看完整回答
反對 回復 2021-04-14
  • 2 回答
  • 0 關注
  • 208 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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