将KDB+中的多个空格减少为单个空格/Q

将KDB+中的多个空格减少为单个空格/Q,kdb,q-lang,Kdb,Q Lang,从“ab”到“ab” 似乎不起作用。 谢谢 您可以使用以下方法将每个重复空间视为一对, 然后使用over,用单个空格“替换”这些 q)x:"This is a test" q)(" "sv" "vs)/[x] "This is a test" 与使用vs和sv相比,可以更有效地执行此操作。使用副词 或者,您可以使用ssr和副词over/连续删除两个空格块: ssr[;" ";" "]/["This is a test"] "Thi

“ab”
“ab”

似乎不起作用。
谢谢

您可以使用以下方法将每个重复空间视为一对, 然后使用over,用单个空格“替换”这些

q)x:"This         is    a    test"

q)(" "sv"  "vs)/[x]

"This is a test"

与使用
vs
sv
相比,可以更有效地执行此操作。使用副词

或者,您可以使用
ssr
和副词over
/
连续删除两个空格块:

ssr[;"  ";" "]/["This         is    a    test"]
"This is a test"

由于可用的正则表达式选项有限,您提供的示例失败,在此序列中使用
+
“[]+”
就是一个不受支持的操作示例。您可以在kx wiki上阅读更多信息。

非常整洁!谢谢但是,在Q中不可能使用正则表达式吗?我就是不能让它工作,我有可能更复杂的规则。再次感谢。您可能需要导入一个外部库,因为q只支持基本操作(*、?和[])。请查看&
{x where not(and':)null x}"This         is    a    test"
"This is a test"
ssr[;"  ";" "]/["This         is    a    test"]
"This is a test"