这是我的代码,它在使用String.Format本机方法格式化字符串时抛出一个异常。
String value = "#%1$s#.*?%#";
String patt = String.format(value); java.util.UnknownFormatConversionException:转换= '#‘ 在java.util.Formatter.checkText(未知来源) 在java.util.Formatter.parse(未知来源) 在java.util.Formatter.format(未知来源) 在java.util.Formatter.format(未知来源) 在java.lang.String.format(未知来源)
你知道怎么回事吗?
发布于 2017-10-31 06:04:36
您必须添加字符串格式来格式化所需的字符串。例:
String value = "#%1$s#.*?%#";
String patt = String.format("%s",value);
System.out.println(patt);发布于 2017-10-31 06:07:49
有两种格式方法:
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
发布于 2017-11-29 18:27:19
价值:
String value = "#%1$s#.*?%#";不能包含字符%。它被用作保留词。
https://stackoverflow.com/questions/47028747
复制相似问题