java - 仅替换第一个特定出现的位置

标签 java string replace

我想替换仅在括号中的空格。我的代码更改了字符串中的所有空格,我不知道为什么。我是这样写代码的。

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String line;
    line = scanner.nextLine();
    for (int i=0; i<line.length(); i++){
        if (line.charAt(i)=='('){
            while (line.charAt(i)!=')'){
                i++;
                if(line.charAt(i)==' '){
                    line=line.replaceFirst(" ", "-space-");
                }
            }
        }
    }
    System.out.println(line);
}

最佳答案

仅替换一行:仅更改括号中的空格。

public static void main(String[] args) {
    Scanner scanner = new Scanner(System.in);
    String line;
    line = scanner.nextLine();
    for (int i=0; i<line.length(); i++){
        if (line.charAt(i)=='('){
            while (line.charAt(i)!=')'){
                i++;
                if(line.charAt(i)==' '){
                    // changed
                    line = line.substring(0, i) + "-space-" + line.substring(i+1, line.length());
                }
            }
        }
    }
    System.out.println(line);     
    scanner.close();
}

关于java - 仅替换第一个特定出现的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43074454/

相关文章:

java - 为什么这个 Java 方法调用被认为是不明确的?

Java 使用字符串作为对象调用

java - 获取字符串 url 并对其进行编码的最佳方法是什么

python - 如何使用\r (Python) 替换上一行中的字符串

正则表达式添加尾随零

java - 如何在 Android 8 和 9 上添加设置了 HttpProxy 的 WifiConfiguration

java - 使正则表达式更加动态

jQuery - 加载正文后查找并替换文本

javascript - AngularJS $http POST 在 Java Controller 后端作为 null 变量接收

javascript - 如何删除字符串中仅出现一次的 'abc' ?