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是否对此输出有任何解释?
答案 0 :(得分: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
答案 1 :(得分:1)
%
中的百分号(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