我有一个像 '/home/user/something/'
这样的字符串,我想将它转换为 ['/', 'home', '/', 'user', '/', 'something', '/']
我该怎么做?
答案 0 :(得分:0)
1- s
谓词接受输入并给出最终的分割答案。
2- split_string
用于仅返回单词,因此它返回 L = ["home", "user", "something"]
。请注意,我们没有 /
。
3- 现在我们需要添加 "/"
。我们使用 addslash
谓词,在每个单词之前添加 "/"
。对于最后一个 "/"
,它检查基本谓词并将最后一个 "/"
添加到列表中。
s(X,L1):-
split_string(X, "/", "/", L),
addslash(L,L1).
addslash([],["/"]).
addslash([H|T],[H1,H|L]):-
H1="/",
addslash(T,L).
?- s('/home/user/something/', L).
L = ["/", "home", "/", "user", "/", "something", "/"]