我想输出在Java MessageFormat中的一些支撑。 例如,我知道下面不工作:
MessageFormat.format(" public {0} get{1}() {return {2};}\n\n", type, upperCamel, lowerCamel);
是否有逃逸周边“回报{2}”大括号的方式吗?
我想输出在Java MessageFormat中的一些支撑。 例如,我知道下面不工作:
MessageFormat.format(" public {0} get{1}() {return {2};}\n\n", type, upperCamel, lowerCamel);
是否有逃逸周边“回报{2}”大括号的方式吗?
你可以把它们放在单引号内如
'{'return {2};'}'
请参阅这里了解更多详情。
哇。 惊喜! 对于文档的MessageFormat知道答案:
在一个字符串 ,
"''"
表示单引号。 甲QuotedString可以包含除单引号的任意字符; 周围的单引号将被删除。 一个UnquotedString可以包含除单引号和左大括号的任意字符。 因此,应导致格式化的消息中一个字符串"'{0}'"
可以被写为"'''{'0}''"
或"'''{0}'''"
。
使用单引号:
MessageFormat.format(" public {0} get{1}() '{'return {2};'}'\n\n",
type, upperCamel, lowerCamel);
如果您确实希望使用单引号,只需双击它。 该用于JavaDoc的MessageFormat
给出了这个有些复杂例子:
因此,应导致格式化的消息中一个字符串
"'{0}'"
可以被写为"'''{'0}''" or "'''{0}'''"
。
这是''
为一单引号,然后'{'
为一个转义撑,然后0
, '}'
为右括号和''
为闭引号。
System.out.println(MessageFormat.format("I want to see ticks and curly braces around '''{'{0}'}'''", "this"));
你可以使用这个表达式用珍珠或任何其他语言逃脱大括号和单引号(X27)。 它不触及任何占位符如{0}
bash echo "# 'single' quote test \n\n public {0} get{1}() {return {2};}\n\n" | perl -pe 's/\x27/\x27\x27/g; s/\{([^0-9])/\x27\{\x27$1/g; s/([^0-9])\}/$1\x27\}\x27/g'
bash echo "# 'single' quote test \n\n public {0} get{1}() {return {2};}\n\n" | perl -pe 's/\x27/\x27\x27/g; s/\{([^0-9])/\x27\{\x27$1/g; s/([^0-9])\}/$1\x27\}\x27/g'