我正在编写一个程序,它将替换单个字符串中的多个单词.我正在使用这个代码,但它正在替换单词,但给出两个不同的行结果.我希望在一行中替换多个单词并输出.
import java.util.*;
public class ReplaceString {
public static void main(String[] args) {
new ReplaceString().run();
}
public void run()
{
System.out.println("Input String:\n");////
Scanner keyboardScanner = new Scanner(System.in);/////
String inString = keyboardScanner.nextLine();/////
String strOutput = inString.replace("call me","cm");
System.out.println(strOutput);
String strOutput1 = inString.replace("as soon as possible","asap");
System.out.println(strOutput1);
}
}
Run Code Online (Sandbox Code Playgroud)
dog*_*ane 17
如果您想在单个语句中执行此操作,您可以使用:
String strOutput = inString.replace("call me","cm").replace("as soon as possible","asap");
Run Code Online (Sandbox Code Playgroud)
或者,如果您有许多此类替换,将它们存储在某种数据结构(如2d阵列)中可能更明智.例如:
//array to hold replacements
String[][] replacements = {{"call me", "cm"},
{"as soon as possible", "asap"}};
//loop over the array and replace
String strOutput = inString;
for(String[] replacement: replacements) {
strOutput = strOutput.replace(replacement[0], replacement[1]);
}
System.out.println(strOutput);
Run Code Online (Sandbox Code Playgroud)
当然,它打印两行:您有两个打印语句。使用此代码:
import java.util.*;
public class ReplaceString {
public static void main(String[] args) {
new ReplaceString().run();
}
public void run()
{
System.out.println("Input String:\n");////
Scanner keyboardScanner = new Scanner(System.in);/////
String inString = keyboardScanner.nextLine();/////
String shortMessage = shortifyMessage(inString);
System.out.println(shortMessage);
}
public String shortifyMessage(String str)
{
String s = str;
s = s.replace("call me", "cm");
s = s.replace("as soon as possible", "asap");
// Add here some other replacements
return s;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
65525 次 |
| 最近记录: |