0

处理字符串的常用方法是什么q,在某种程度上,谁负责处理单字符字符串:函数本身还是运行它的用户?

前任:

$ q
KDB+ 3.6 2019.04.02 Copyright (C) 1993-2019 Kx Systems
m32
q)ssr["bar";"r";"z"] /looks good at a first glance
"baz"
q)ssr["bar";"?";"z"] /but wait, nothing happens here
"bar"
q)ssr["bar";(),"?";"z"] /convert 1-char to list: ok
"zzz"

查看发送单个字母 ( r) 与问号 ( ?) 的区别。仅仅发送一个字符?本身并没有做任何有用的事情。

它是的一个特点ssr吗?单字符发送/接收的一般情况是什么 - 在大多数情况下谁应该负责处理原子与列表?

更新: 感谢@terrylynch 指出ss/的这个特性ssr

q)ssr["bar?";"?";"z"]
"barz"
4

1 回答 1

2

它是一个特性,ss而它又使它成为了ssrsince ssruses的一个特性ss。见“支持like的一些模式匹配能力”评论:https ://code.kx.com/q/ref/ss/

看起来它检查了特殊(正则表达式相关)字符的查找字符/字符串 - 如果它是单个字符,则将其视为字符,如果它是字符串类型,则将其视为正则表达式模式。

于 2020-05-26T14:00:47.030 回答