0

1.基于此代码https://docs.oracle.com/javase/tutorial/essential/regex/test_harness.html

谁能解释一下这是\"%s\"什么

while (matcher.find()) {
        console.format("I found the text" + " \"%s\" starting at " +
        "index %d and ending at index %d.%n",
        matcher.group(),
        matcher.start(),
        matcher.end());
        found = true;
}

我只知道那%s是字符串。

2.引用元字符https://docs.oracle.com/javase/tutorial/essential/regex/literals.html对此输出有什么解释吗?

在此处输入图像描述

4

2 回答 2

1

\"%s\"意味着您想在两个引号之间放置一个字符串,例如结果可以是:

I found the text "some string"
//""-------------^           ^
// %s             ^_________^

%s用于字符串,如果你想使用数字,你可以使用%d等等

在 Java 中引用应该如何转义?你可以使用反斜杠\",所以考虑我有一个包含引号的字符串,Hello "World"如何在 Java 中将其用作字符串:

String string = "Hello "World"";  //<<------- this is an error syntax

要解决它,您必须转义引号:

String string = "Hello \"World\"";
                       ^      ^

看看https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html

于 2018-01-26T14:50:10.410 回答
1

a 中的百分号 ( %)String与字母 b、c、d、e、f、s 组合用于限制要显示的字符数。

%b- 布尔值
%c- 字符
%d- 整数
%e- 科学记数法
%f- 浮点数 (double, float)
%s- 字符串

例如:

String text = "abcdef";
System.out.printf("%.3s", text); //output:  abc

或者

String text = "\"abcdef\"";
System.out.printf("%.3s", text); //output:  "ab
于 2018-01-26T15:02:58.767 回答