我有一个像
这样的xml字符串 S = "<B xmns=\"som2\"> <a other='v1' more='v2'/><b some=\"v3/></B>".
我想删除结束标记</B>
S2 = "<B xmns=\"som2\"> <a other='v1' more='v2'/><b some=\"v3/>"
我怎样才能做到这一点?
答案 0 :(得分:4)
如果您只想删除特定字符串文字</B>
,那么获取子列表就可以解决问题:
S = "<B xmns=\"som2\"> <a other='v1' more='v2'/><b some=\"v3\"/></B>",
lists:sublist(S, 1, length(S) - 4).
%%= "<B xmns=\"som2\"> <a other='v1' more='v2'/><b some=\"v3\"/>"
如果您需要更通用的方法,可以使用re:replace/3
函数:
S1 = re:replace(S, "</B>", ""),
S2 = iolist_to_binary(S1),
binary_to_list(S2).
%%= "<B xmns=\"som2\"> <a other='v1' more='v2'/><b some=\"v3\"/>"
正如评论中所提到的,提供选项{return, list}
更加清晰:
re:replace(S, "</B>", "", [{return,list}]).
%%= "<B xmns=\"som2\"> <a other='v1' more='v2'/><b some=\"v3\"/>"