提问人:notatclgenius 提问时间:11/8/2023 最后编辑:mrcalvinnotatclgenius 更新时间:11/10/2023 访问量:49
删除 Tcl 中字符串中的第二个单词
Removing the second word in a string in Tcl
问:
假设我有一个字符串 wordone wordtwo wordthree。我不知道 wordtwo 会是什么,但只要它存在,就需要将其删除。我能做些什么来删除它。
我尝试使用 lreplace $string 1 1 “” 但收到错误“ 大括号中的列表元素,后跟......而不是空间”
答:
0赞
TrojanName
11/8/2023
#1
如果你把你的字符串看作一个列表,你可以用 lreplace 来删除第二个单词,例如
set input_string "wordone wordtwo wordthree"
set result [lreplace $input_string 1 1]
输出:
wordone wordthree
仔细想想,最好使用 regsub 来匹配空格,并提取第二个单词。这应该有效:
set input_string "wordone wordtwo wordthree"
regsub {^(\S+)\s+\S+} $input_string {\1} result
puts $result ;# wordone wordthree
评论
1赞
Donal Fellows
11/9/2023
我喜欢 ,但是放在括号中 之前也可以使用它与前导空格一起使用。regsub
\s*
\S+
评论
split
lreplace