字符串操作java

提问

因此,我已经大量使用了该站点,但找不到答案…
如何处理较大字符串中的特定字符/字符串.我正在尝试使用string.substring(pos,amount),但是当我尝试在循环中使用它时,出现字符串索引错误.
例如,如何从字符串“ abcdefg”中删除[4]处的“ e”或仅将“ cde”大写?很抱歉,我的问题中缺少正式代码,这主要是概念上的事情.谢谢.

感谢您提出的建议,我试图回答这个问题:
编写一个程序,该程序将仅包含字母的字符串作为输入,并使用
第三个字母大写,从第二个字母开始,其他所有字母均小写.

使用此代码:

public class Test {
    public static void main(String[] arguments){
        Scanner fish = new Scanner(System.in);      
        String a = fish.nextLine();
        int len=a.length();
        for (int i = 1; i < len; i += 3){
            String z = a.substring(i, 1);
            String q = a.substring(i + 1);
            a = z.toUpperCase() + q;
        }
        System.out.println(a);
    }
}

最佳答案

字符串本身是一个不可变的类,因此您无法对其进行修改.进行修改时,会返回一个新的对象…但是,这并非总是最好的方式(就性能而言),尤其是当您拥有较大的String时,操作String的最佳方式.

Java还有其他一些类,例如StringBuffer和StringBuilder,它们公开了更多的String操作操作.以下是一个摘要:

`public String manipulateStr(String sourceStr) {
    StringBuffer sb = new StringBuffer(sourceStr);
    sb.delete(5,7); // Delete characters between index 5-7
    sb.insert(10, "<inserted str>"); // Insert a new String
    return sb.toString();
}`

希望以上内容对您有所帮助.