是否有另一种方法可以在不使用转义序列的情况下生成引号?

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,而 foobar 来自变量,您可以这样做:

String s = "Replacing " + '"' + foo + '"' + " with '" + bar + "' was easy"`;