这是我的代码,它在使用String.Format
Java本机方法格式化字符串时抛出异常。
String value = "#%1$s#.*?%#";
String patt = String.format(value);
java.util.UnknownFormatConversionException:Conversion ='#'
at java.util.Formatter.checkText(Unknown Source)
at java.util.Formatter.parse(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.util.Formatter.format(Unknown Source)
at java.lang.String.format(Unknown Source)
知道什么是错的吗?
答案 0 :(得分:0)
你必须添加字符串格式来格式化你想要的字符串。 例如:
String value = "#%1$s#.*?%#";
String patt = String.format("%s",value);
System.out.println(patt);
答案 1 :(得分:0)
有两种格式方法:
public static String format(String format, Object... args)
和
public static String format(Locale locale, String format, Object... args)
locale:指定要在format()方法上应用的语言环境。
格式:字符串的格式。
args:格式字符串的参数。它可能是零或更多
因此,在您的情况下,无论您指定的格式是不正确的,我猜。
您可以在此处查看可以使用的不同格式:https://dzone.com/articles/java-string-format-examples
答案 2 :(得分:-1)
价值:
String value = "#%1$s#.*?%#";
不能包含字符%。它被用作保留词。