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

   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 ...


我哪里出问题了?


慕婉清6462132
浏览 179回答 2
2回答

千万里不及你

这行: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()

智慧大石

有多种选择可在一个位置替换一个字符。其中之一是使用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());        }    }});
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java