java.util.UnknownFormatConversionException:Conversion ='#'

时间:2017-10-31 05:56:34

标签: java

这是我的代码,它在使用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)

知道什么是错的吗?

3 个答案:

答案 0 :(得分:0)

你必须添加字符串格式来格式化你想要的字符串。 例如:

String value = "#%1$s#.*?%#";
String patt = String.format("%s",value);

System.out.println(patt);

Read this

答案 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#.*?%#";

不能包含字符%。它被用作保留词。