我正在做一些与kdb有关的工作,并且一直在修改字符串和变量。我只是想知道是否有可能删除字符串的一部分并添加一些内容来结束字符串。
s1:"Hello" s2:" World"
我有一个使用
创建的联合字符串“ Hello World”s3:s1,s2
我试图删除Hello并在联合字符串中的World之后添加一些内容。
s3[1*til 6] = Hello
这可以帮助我选择字符串的Hello部分
答案 0 :(得分:4)
您可以使用drop(_)摆脱“ Hello”,并加入(,)添加所需的内容。像
q)6_s3,"star Hiphop"
"Worldstar Hiphop"
如果您不想计算第一个单词中的字母,则可以使用标量(vs)中的vector来获取列出的单词列表并对其进行索引,然后加入该列表:
q)(" " vs s3)[1],"star Hiphop"
"Worldstar Hiphop"
希望这会有所帮助。
答案 1 :(得分:4)
字符串是字符列表,因此放置函数_
仍可在它们上使用。例如,1_"Hello"
将返回ello
。
因此,如果您要从字符串s3
中删除“ Hello”,请使用
q)5_s3
"World"
例如,在此末尾添加一些内容需要连接运算符,
q)s:"HelloWorld"
q)s1:"Mr. "
q)s2:5_s
q)s3:"wide"
q)s1,s2,s3
"Mr. Worldwide"
答案 2 :(得分:2)
您可以使用ssr函数(替换字符串搜索)。
q)s3:"HelloWorld"
q)ssr[s3;"Hello";""], " of War"
"World of War"