我正在使用epgsql
在Erlang中查询数据库。它返回字符串结果,包括它们周围的引号:" what_was_in_the_row"。如何在处理结果之前删除这些引号?
答案 0 :(得分:4)
控件格式~p
(漂亮打印)保存有关打印变量类型的信息。您正在打印一个字符串,即在erlang中,由可打印字符组成的标准整数列表,例如[101,102,103]
在shell中显示为"efg"
。
如果您致电io_lib:format("~p",[[101,102,103]]).
,您将获得需要一些解释的结果["\"efg\""]
。
io_lib:format/2
的返回值类型,\"
是一个表示单个字符“您可以评估每个字符串的长度以验证差异:
如果您想获取没有周围引号的字符串,则必须使用控件格式~s
1> [Res] = io_lib:format("~s",[[101,102,103]]).
["efg"]
2> length(Res).
3
3> [Res] = io_lib:format("~s",[Res]).
["efg"]
当然,最后一行显示我的例子很愚蠢。使用io_lib:format("~s ~s!",["Hello","world"]).
或更复杂的格式,结果类型为chars()
:char()
或chars()
列表。