Java String 替换指定位置字符
最近做项目,遇到了替换定长字符串的某位的值的问题,就实现方法来说有很多。参考了很多方法,个人觉得将String转化为StringBuilder再使用StringBuilder的replace方法进项操作最为简便。记录下来,方便自己下次使用。
StringBuilder的replace()方法,参数有3个 StringBuilder.replace(start, end, str),其中start是起始位,end为截止位,str则为替换内容。
下面的代码是将前端页面中的36位功能标识传输到后台处理并存入数据库,前端已将功能位置存入FQ_NUMBER中,并使用,进行分隔,0默认不开通,1代表开通。
部分代码如下:
public String CreateFlag(){
String str="000000000000000000000000000000000000"; StringBuilder flag=new StringBuilder(); try { String[] FQ_NUMBER = helper.getParameterValue("FQ_NUMBER").split(","); flag.append(str); for(int k=0;k<FQ_NUMBER.length;k++){ flag.replace(Integer.parseInt(FQ_NUMBER[k])-1, Integer.parseInt(FQ_NUMBER[k]), "1"); } } catch (FileUploadException e) { e.printStackTrace(); } return flag.toString(); }
