是否有另一种方法可以在不使用转义序列的情况下生成引号?
Is there an alternative way to generate quote marks without using the escape sequence?
我试图让我的输出显示缩写周围的双引号以及翻译后的缩写。但是我没有在当前的 class 中介绍转义序列,所以我想知道是否有另一种方法可以实现这一点。当我尝试使用转义序列时,工作簿将不接受。
我试过转义序列和使用两个单引号 ('' ''),但都没有用。也许我遗漏了一些东西并且对 java 语言还很陌生。只是试图从基础的角度学习最有效的方法。
进口java.util.Scanner;
public class TextMsgExpander {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String txtMsg;
String BFF = "best friend forever";
String IDK = "I don't know";
String JK = "just kidding";
String TMI = "too much information";
String TTYL = "talk to you later";
System.out.println("Enter text: ");
txtMsg = scnr.nextLine();
System.out.println("You entered: " + txtMsg);
System.out.println();
if(txtMsg.contains("BFF")) {
txtMsg = txtMsg.replace("BFF", BFF);
System.out.println("Replaced BFF with " + BFF);
} // above line is where I tried escape sequence
if(txtMsg.contains("IDK")) {
txtMsg = txtMsg.replace("IDK", IDK);
System.out.println("Replaced IDK with " + IDK);
}
if(txtMsg.contains("JK")) {
txtMsg = txtMsg.replace("JK", JK);
System.out.println("Replaced JK with " + JK);
}
System.out.println();
System.out.println("Expanded: " + txtMsg);
return;
}
}
你的输出
输入文字:
您输入:IDK 这是怎么发生的。 TTYL.
将 IDK 替换为我不知道
将 TTYL 替换为稍后与您交谈
展开:我不知道那是怎么发生的。待会儿再说。
预期输出
输入文字:
您输入:IDK 这是怎么发生的。 TTYL.
已将 "IDK" 替换为 "I don't know"。
将 "TTYL" 替换为 "talk to you later"。
展开:我不知道那是怎么发生的。待会儿再说。
你试过这个吗:
\"example text\"
所以你会有这样的东西:
System.out.println("Replaced \"BFF\" with " + "\"" + BFF + "\"");
或
System.out.println("Replaced \"BFF\" with \"" + BFF + "\"");
通常它应该使用转义字符。
你有没有试过这样的事情:
System.out.println("\"These two semi colons are removed when i am printed\"");
我测试了它,它对我有用。
如果您不能使用 \
转义序列,无论出于何种原因,您都可以使用 '
撇号不需要在 "xx"
字符串文字中转义的事实,并且 "
double-quote 不需要在 'x'
字符文字中转义。
例如要打印 Replacing "foo" with 'bar' was easy
,而 foo
和 bar
来自变量,您可以这样做:
String s = "Replacing " + '"' + foo + '"' + " with '" + bar + "' was easy"`;
我试图让我的输出显示缩写周围的双引号以及翻译后的缩写。但是我没有在当前的 class 中介绍转义序列,所以我想知道是否有另一种方法可以实现这一点。当我尝试使用转义序列时,工作簿将不接受。
我试过转义序列和使用两个单引号 ('' ''),但都没有用。也许我遗漏了一些东西并且对 java 语言还很陌生。只是试图从基础的角度学习最有效的方法。
进口java.util.Scanner;
public class TextMsgExpander { public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
String txtMsg;
String BFF = "best friend forever";
String IDK = "I don't know";
String JK = "just kidding";
String TMI = "too much information";
String TTYL = "talk to you later";
System.out.println("Enter text: ");
txtMsg = scnr.nextLine();
System.out.println("You entered: " + txtMsg);
System.out.println();
if(txtMsg.contains("BFF")) {
txtMsg = txtMsg.replace("BFF", BFF);
System.out.println("Replaced BFF with " + BFF);
} // above line is where I tried escape sequence
if(txtMsg.contains("IDK")) {
txtMsg = txtMsg.replace("IDK", IDK);
System.out.println("Replaced IDK with " + IDK);
}
if(txtMsg.contains("JK")) {
txtMsg = txtMsg.replace("JK", JK);
System.out.println("Replaced JK with " + JK);
}
System.out.println();
System.out.println("Expanded: " + txtMsg);
return;
} }
你的输出
输入文字: 您输入:IDK 这是怎么发生的。 TTYL.
将 IDK 替换为我不知道 将 TTYL 替换为稍后与您交谈
展开:我不知道那是怎么发生的。待会儿再说。
预期输出
输入文字: 您输入:IDK 这是怎么发生的。 TTYL.
已将 "IDK" 替换为 "I don't know"。 将 "TTYL" 替换为 "talk to you later"。
展开:我不知道那是怎么发生的。待会儿再说。
你试过这个吗:
\"example text\"
所以你会有这样的东西:
System.out.println("Replaced \"BFF\" with " + "\"" + BFF + "\"");
或
System.out.println("Replaced \"BFF\" with \"" + BFF + "\"");
通常它应该使用转义字符。 你有没有试过这样的事情:
System.out.println("\"These two semi colons are removed when i am printed\"");
我测试了它,它对我有用。
如果您不能使用 \
转义序列,无论出于何种原因,您都可以使用 '
撇号不需要在 "xx"
字符串文字中转义的事实,并且 "
double-quote 不需要在 'x'
字符文字中转义。
例如要打印 Replacing "foo" with 'bar' was easy
,而 foo
和 bar
来自变量,您可以这样做:
String s = "Replacing " + '"' + foo + '"' + " with '" + bar + "' was easy"`;