# Easiest way to turn a substring into a string?

**URL:** <https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336>\
**Category:** General Usage\
**Tags:** question\
**Created:** [June 16, 2019, 1:24am UTC](https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336 "2019-06-16T01:24:28Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![djsegal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djsegal/32/13752_2.png) [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Post date:** [June 16, 2019, 1:24am UTC](https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336/1 "2019-06-16T01:24:28Z")

</div>

Sometimes I’m dealing with a function that only wants a `String` and not an `AbstractString`.

// this usually occurs if you use someone else’s code and you have a `SubString`

* * *

Is there a surefire way to convert a `SubString` to a `String`?

Related to:

- [Redirecting to Google Groups](https://groups.google.com/forum/#!topic/julia-users/_J9-6CeACW8)
- [http://julia-programming-language.2336112.n4.nabble.com/How-to-un-substring-a-string-td23638.html](http://julia-programming-language.2336112.n4.nabble.com/How-to-un-substring-a-string-td23638.html)

---

<div class="post-metadata">

**Author:** ![JeffreySarnoff](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/jeffreysarnoff/32/1980_2.png) [@JeffreySarnoff](https://discourse.julialang.org/u/JeffreySarnoff)\
**Post date:** [June 16, 2019, 2:35am UTC](https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336/2 "2019-06-16T02:35:09Z")

</div>

`String(x::SubString)` does that, and you can broadcast `String` if helpful

---

<div class="post-metadata">

**Author:** ![djsegal](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/djsegal/32/13752_2.png) [@djsegal](https://discourse.julialang.org/u/djsegal)\
**Post date:** [June 16, 2019, 7:56am UTC](https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336/3 "2019-06-16T07:56:45Z")

</div>

This didn’t work. I just used this hack instead:

```julia
Foo.bar(string::AbstractString) = Foo.bar(String(string))

```

---

<div class="post-metadata">

**Author:** ![Tamas\_Papp](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/tamas_papp/32/25949_2.png) [@Tamas\_Papp](https://discourse.julialang.org/u/Tamas_Papp)\
**Post date:** [June 16, 2019, 8:00am UTC](https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336/4 "2019-06-16T08:00:38Z")

</div>

This is not a hack, but a very standard pattern, along the lines of

```julia
foo(x::SomeTypeICanDealWith) = ...

foo(x::SomeBroaderType) = foo(make_some_type_I_can_deal_with(x))

```

---

<div class="post-metadata">

**Author:** ![nilshg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/nilshg/32/2283_2.png) [@nilshg](https://discourse.julialang.org/u/nilshg)\
**Post date:** [June 16, 2019, 8:26am UTC](https://discourse.julialang.org/t/easiest-way-to-turn-a-substring-into-a-string/25336/5 "2019-06-16T08:26:28Z")

</div>

How this different from what @JeffreySarnoff suggested?
