Skip to content

ss, ssr

String search – and replace

ss

String search

x ss y     ss[x;y]

Where

  • x is a string
  • y is a pattern as a string (no asterisk)

returns an int vector of position/s within x of substrings that match pattern y.

q)"We the people of the United States" ss "the"
3 17

q)s:"toronto ontario"
q)s ss "ont"
3 8
q)s ss "[ir]o"
2 13
q)s ss "t?r"
0 10

ssr

String search and replace

ssr[x;y;z]

Where

  • x is a string
  • y is a pattern as a string (no asterisk)
  • z is a string or a function

returns x with each substring matching y replaced by:

  • z if z is a string
  • z[Y] where z is a function and Y is the matched substring
q)s:"toronto ontario"
q)ssr[s;"ont";"x"]      / replace "ont" by "x"
"torxo xario"
q)ssr[s;"t?r";upper]    / replace matches by their uppercase
"TORonto onTARio"

like
Regular Expressions in q
Strings
Using regular expressions