1

我继承了一些我正在尝试修改的代码,并且我在许多 pf 位置看到了以下语法。

int titleRecEnd        = inputLine.indexOf("%%headerEnd");  
...
int fileNameStart      = inputLine.indexOf("%%File: ")+8;
int fileNameEnd        = inputLine.indexOf("%%FilenameEnd");

我已经查看了此相关链接%,但无法在答案或与答案相关的 javadoc 中找到对偶的完全匹配。我知道它与打印格式有关,但我似乎无法找到关于%%而不是, 的语法信息%

这些真实的声明做了什么——或者他们应该做什么?

4

4 回答 4

1

I'm fairly certain that a double percent is used to create a literal '%', i.e. the first percent sign escapes the second.

http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html#syntax

于 2013-07-17T12:55:44.610 回答
1

How you use it there, it appears to simply be part of the string literal. E.g. it might be used to parse a file like this:

%%headerStartSomeHeader%%headerEnd
%%File: image.png%%FilenameEnd

In the context of string formatting, % is a special character used to denote various things; %% resolves to a single literal % symbol.

于 2013-07-17T12:56:17.633 回答
1

我确信在较大的字符串中查找文本片段只是一种约定,因为百分比通常不会出现双倍。某种模板。所以可以找到像%%File.

String fileName = inputLine.substring(fileNameStart, fileNameEnd);
于 2013-07-17T13:04:04.003 回答
1

%% 表示 java.util.Formatter 模式的 % 字符。由于 % 表示格式说明符的开头 %% 用于转义 % char。

System.out.println("%%");

印刷

%

对于 String.indexOf % 或 %% 没有特殊意义。

于 2013-07-17T13:00:51.407 回答