我想替换仅在括号中的空格。我的代码更改了字符串中的所有空格,我不知道为什么。我是这样写代码的。
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/