# Producing Strings with split()

**URL:** https://discourse.julialang.org/t/producing-strings-with-split/134954
**Category:** General Usage
**Tags:** strings, broadcasting
**Created:** [January 8, 2026, 3:54pm UTC](https://discourse.julialang.org/t/producing-strings-with-split/134954 "2026-01-08T15:54:45Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![Ju\_ska](https://avatars.discourse-cdn.com/v4/letter/j/ecd19e/32.png) [@Ju\_ska](https://discourse.julialang.org/u/Ju_ska)
#### Post date: [January 8, 2026, 3:54pm UTC](https://discourse.julialang.org/t/producing-strings-with-split/134954/1 "2026-01-08T15:54:45Z")

</div>

Hi,

I would like to avoid getting SubStrings.  
While the first split can be “fixed”, it “fails” at the second split and I don’t get why.

```julia-auto
julia> txt = "a b c-aa bb cc-aaa bbb ccc"
"a b c-aa bb cc-aaa bbb ccc"

julia> lines = split(txt, "-")
3-element Vector{SubString{String}}:
 "a b c"
 "aa bb cc"
 "aaa bbb ccc"

julia> str_lines = string.(lines)
3-element Vector{String}:
 "a b c"
 "aa bb cc"
 "aaa bbb ccc"

julia> cols = split.(str_lines)
3-element Vector{Vector{SubString{String}}}:
 ["a", "b", "c"]
 ["aa", "bb", "cc"]
 ["aaa", "bbb", "ccc"]

julia> str_cols = string.(cols)
3-element Vector{String}:
 "SubString{String}[\"a\", \"b\", \"c\"]"
 "SubString{String}[\"aa\", \"bb\", \"cc\"]"
 "SubString{String}[\"aaa\", \"bbb\", \"ccc\"]"

```

---

<div class="post-metadata">

### Author: ![gdalle](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gdalle/32/27854_2.png) [@gdalle](https://discourse.julialang.org/u/gdalle)
#### Post date: [January 8, 2026, 3:59pm UTC](https://discourse.julialang.org/t/producing-strings-with-split/134954/2 "2026-01-08T15:59:57Z")

</div>

What your last input gives you is the result of `string` applied to each element of `cols`. I assume what you want is the result of `string` applied to _each element of each element of `cols`_, which you can get as follows:

```julia-auto
str_cols = map(col -> string.(col), cols)

```

---

<div class="post-metadata">

### Author: ![GunnarFarneback](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/gunnarfarneback/32/1827_2.png) [@GunnarFarneback](https://discourse.julialang.org/u/GunnarFarneback)
#### Post date: [January 8, 2026, 4:05pm UTC](https://discourse.julialang.org/t/producing-strings-with-split/134954/3 "2026-01-08T16:05:20Z")

</div>

An alternative approach is

```julia-auto
split_to_strings(s, args...) = String.(split(s, args...))
lines = split_to_strings(txt, "-")
cols = split_to_strings.(lines)

```

---

<div class="post-metadata">

### Author: ![Ju\_ska](https://avatars.discourse-cdn.com/v4/letter/j/ecd19e/32.png) [@Ju\_ska](https://discourse.julialang.org/u/Ju_ska)
#### Post date: [January 8, 2026, 5:20pm UTC](https://discourse.julialang.org/t/producing-strings-with-split/134954/4 "2026-01-08T17:20:46Z")

</div>

Thanks !

---

<div class="post-metadata">

### Author: ![rafael.guerra](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/rafael.guerra/32/216610_2.png) [@rafael.guerra](https://discourse.julialang.org/u/rafael.guerra)
#### Post date: [January 8, 2026, 5:29pm UTC](https://discourse.julialang.org/t/producing-strings-with-split/134954/5 "2026-01-08T17:29:34Z")

</div>

An alternative:

```julia-auto
broadcast.(String, cols)

```
