Transforming string columns in DataFrame with (regex) match

Use @rtransform, the row-wise version of @transform.

julia> @rtransform(df, :B = match(r"\d+", :B).match)
5×2 DataFrame
 Row │ A      B
     │ Int64  SubStrin…
─────┼──────────────────
   1 │     1  32
   2 │     2  35
   3 │     3  124
   4 │     4  775
   5 │     5  23

As for your problem with getproperty, in @transform, which accepts full columns, check out the docs here about “Working with Symbol s without referring to columns”. You need to escape the Symbol with ^.

julia> @transform(df, :B = getproperty.(match.(r"\d+", :B), ^(:match)))
5×2 DataFrame
 Row │ A      B
     │ Int64  SubStrin…
─────┼──────────────────
   1 │     1  32
   2 │     2  35
   3 │     3  124
   4 │     4  775
   5 │     5  23
3 Likes