我有一个如下字符串:
(A-B,C&D-E,F,G&H-I,J,K);
在上面的字符串中我使用了带有“&”的split命令并获得以下要素:
(A-B,C); (D-E,F,G) ;(H-I,J,K);
在上面的元素中,在第二个元素中添加了Z:
(A-B,C); (D-E,F,G,Z); (H-I,J,K);
现在想要将z重建为原始字符串,例如:
(A-B,C&D-E,F,G,Z&H-I,J,K);
请分享您的建议,谢谢。
答案 0 :(得分:1)
set s "(A-B,C&D-E,F,G&H-I,J,K);"
set l [split $s "&"]
lset l 1 "[lindex $l 1],Z"
set new [join $l &]
puts $new
(A-B,C&D-E,F,G,Z&H-I,J,K);
答案 1 :(得分:0)
好吧,我们假设您在列表中有三个元素
puts $elements
{(A-B,C);} {(D-E,F,G,Z);} {(H-I,J,K);}
首先,让我们从每个元素
中删除(
和);
set trimmed [list]
foreach e $elements {
lappend trimmed [string trim $e "();"]
}
现在有一个新列表:
puts $trimmed
A-B,C D-E,F,G,Z H-I,J,K
最后,让我们join
使用&
字符列表,然后在结果字符串前添加(
,在结尾添加);
:
set final ([join $trimmed &])\;
puts $final
(A-B,C&D-E,F,G,Z&H-I,J,K);
这应该是全部。