import * from dw::core::Strings
---
{
  a: "A very long string"[0 to 8],
  b: "A very long string"[-6 to -1],
  c: sizeOf("A very long string"),
  d: "A very long string"[10],
  e: in0.a[0 to 8],
  f: in0.a[-6 to -1],
  g: sizeOf(in0.a),
  h: in0.a[10],
  i: "A" ++ " " ++ "very" ++ " " ++ "long" ++ " " ++ "string",
  j: in0.b ++ " " ++ in0.c ++ " " ++ in0.d ++ " " ++ in0.e,
  k: "Mariano long string" matches /^Mariano.*/,
  l: "A very long Achaval" matches /.*Achaval$/,
  m: in0.f matches /^Mariano.*/,
  n: in0.g matches /.*Achaval$/,
  o: "A very long string" contains "str",
  p: "A very long string" contains "false",
  q: "A very long string" contains /s[t|p]ring/,
  r: in0.a contains "str",
  s: in0.a contains "false",
  t: in0.a contains /s[t|p]ring/,
  u: "A very long string" splitBy /\s/,
  v: "A very long string" splitBy " ",
  w: "A very long string" splitBy "{}",
  x: in0.a splitBy /\s/,
  y: in0.a splitBy " ",
  z: in0.a splitBy "{}",
  aa: "aabccd" match /(a).(b)(c.)d/,
  ab: in0.h match /(a).(b)(c.)d/,
  ac: "aabccde" find /(a).(b)(c.)d/,
  ad: ("aabccdbce" find /bc/)[0],
  ae: ("aabccdbce" find /bc/)[-1],
  af: in0.i find /(a).(b)(c.)d/,
  ag: (in0.i find /bc/)[0],
  ah: (in0.i find /bc/)[-1],
  ai: ("aabccdbce" find "bc")[0],
  aj: ("aabccdbce" find "bc")[-1],
  ak: (in0.i find "bc")[0],
  al: (in0.i find "bc")[-1],
  am: trim("   aabccdbce   "),
  an: upper("aabccdbce"),
  ao: lower("AABCCDBCE"),
  ap: trim(in0.j),
  aq: upper(in0.k),
  ar: lower(in0.l),
  "as": "Mariano" startsWith "Mar",
  at: "Mariano" startsWith "Em",
  au: "Emiliano" endsWith "no",
  av: "Emiliano" endsWith "to",
  aw: "EmiEmi" scan /(mi)/,
  ax: in0.m scan /(mi)/,
  ay: in0.n joinBy "-",
  az: ["a","b","c"] joinBy "-",
  ba: (("a-a-b-c" splitBy "-") distinctBy $) joinBy "-",
  bb: (upper(["a","b","c"] joinBy "-")) splitBy "-",
  bc: "//",
  bd: "application/json" matches /(application)\/(json)/,
  be: "12345678"[0 to 8],
  bf: "abc" find  "",
  bg: ["1",true,2] joinBy "-",
  bh: [] joinBy "-"
}