当前位置: 代码迷 >> J2SE >> 字符串替换字符求教,该如何处理
  详细解决方案

字符串替换字符求教,该如何处理

热度:93   发布时间:2016-04-24 02:00:33.0
字符串替换字符求教
一个字符串我想领指定位置的字符变为大写,要怎样做?具体是什么字符不知道,只知道要第几个字符传成它本身的大写。

------解决方案--------------------
是我的话会把那个指定位置的字符substring提出来比如赋给String a
然后Integer.parseInt(a);
加上小写和大写的ascii差值
再转成字符
------解决方案--------------------
public String upperCase(String str, int pos) {
return str.substr(0, pos) + str.substr(pos, pos+1).toUpperCase() + str.substr(pos+1);
}
------解决方案--------------------
Java code
public class UpperCase {    public static void main(String[] args) {        System.out.println(getTheUpperCase("good", 0));    }    static String getTheUpperCase(String src, int pos)    {        if(pos>=src.length())            throw new RuntimeException("指定的位置不合法!");                StringBuilder sb = new StringBuilder(src);        sb.setCharAt(pos, Character.toUpperCase(src.charAt(pos)));        return sb.toString();    }}
------解决方案--------------------
字符位置从1开始表示,返回null表示传入的参数有误
Java code
    public static String upperCaseString(String str,int pos)    {        if(pos < 1 || pos > str.length() || null == str | "".equals(str)) return null;        char[] strChars = str.toCharArray();        strChars[pos-1] = Character.toUpperCase(strChars[pos-1]);        return String.valueOf(strChars);    }
------解决方案--------------------
public static String upperCaseString(String str,int pos)
{
if(pos < 1 || pos > str.length() || null == str | "".equals(str)) return null;
char[] strChars = str.toCharArray();
strChars[pos-1] = Character.toUpperCase(strChars[pos-1]);
return String.valueOf(strChars);
}
  相关解决方案