今天碰见一个很蛋疼的问题,replace,replaceAll怎么替换多无效 代码如下: public RuleInviteDialog(@NonNull Context context,String coupon_price) { super(context, R.style.loading_dialog_style); setContentView(R.layout.layout_rule_invite); tvContent = findViewById(R.id.tvContent); String desc_content = context.getString(R.string.rule_content); desc_content.desc_content .replaceAll("20", coupon_price); tvContent.setText(Html.fromHtml(desc_content)); }
这里看着没啥问题,但是死活替换不了,网上看了下说用正则表达式,我试了还是不行,租后在论坛看到邮个哥们说了句
注意:String是不可改變的 你要用新建一個變量去接受他
然后修改后代吗
public RuleInviteDialog(@NonNull Context context,String coupon_price) { super(context, R.style.loading_dialog_style); setContentView(R.layout.layout_rule_invite); tvContent = findViewById(R.id.tvContent); String desc_content = context.getString(R.string.rule_content); String newStr = desc_content .replaceAll("20", coupon_price); //或者 //String desc_content = context.getString(R.string.rule_content).replaceAll("20", coupon_price); tvContent.setText(Html.fromHtml(newStr)); tvContent.setText(Html.fromHtml(desc_content)); }
弄一个新值去接收就可以了,如果有特殊符号的需要正则的,可以自行百度
https://www.cnblogs.com/qiuhong10/p/8322158.html
MaybeMetoo 发布了17 篇原创文章 · 获赞 2 · 访问量 1万+ 私信 关注