# String Documentation Wiki Prototype

**URL:** <https://discourse.julialang.org/t/string-documentation-wiki-prototype/104816>\
**Category:** General Usage\
**Tags:** documentation, strings\
**Created:** [October 10, 2023, 7:36pm UTC](https://discourse.julialang.org/t/string-documentation-wiki-prototype/104816 "2023-10-10T19:36:23Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [October 10, 2023, 7:36pm UTC](https://discourse.julialang.org/t/string-documentation-wiki-prototype/104816/1 "2023-10-10T19:36:23Z")

</div>

# Strings

Strings in Julia represent a finite sequence of characters. The default `String` type consists of immutable sequence of UTF-8 codeunits.

This is a wiki experiment in building a friendly crowd sourced supplementary documentation for strings in Julia.

## Current Official String Documentation

- [Manual Section on Strings](https://docs.julialang.org/en/v1/manual/strings/), [(Github link)](https://github.com/JuliaLang/julia/blob/master/doc/src/manual/strings.md)
- [Base String API](https://docs.julialang.org/en/v1/base/strings/), [(Github link)](https://github.com/JuliaLang/julia/blob/master/doc/src/base/strings.md)

## String literals

## String construction

- [`String`](https://docs.julialang.org/en/v1/base/strings/#Core.String-Tuple%7BAbstractString%7D)
- [`string`](https://docs.julialang.org/en/v1/base/strings/#Base.string)

## String manipulation

### String concatenation

- [`*(str_a, str_b, ...)`](https://docs.julialang.org/en/v1/base/strings/#Base.:*-Tuple%7BUnion%7BAbstractChar,%20AbstractString%7D,%20Vararg%7BUnion%7BAbstractChar,%20AbstractString%7D%7D%7D) - concatenate strings together
- [`^(str, n)`](https://docs.julialang.org/en/v1/base/strings/#Base.:%5E-Tuple%7BUnion%7BAbstractChar,%20AbstractString%7D,%20Integer%7D) - concatenate a repeated string together n times
- [`join([io::IO,] iterator [, delim [, last]])`](https://docs.julialang.org/en/v1/base/strings/#Base.join) - concatenate multiple strings together with a delimiter
- [`string(xs...)`](https://docs.julialang.org/en/v1/base/strings/#Base.string) - convert arguments to strings use the [`print`](https://docs.julialang.org/en/v1/base/io-network/#Base.print) function and concatenate the results.

## AbstractString Interface

## Low-level string manipulation

## String packages

- [JuliaStrings Github Organization](https://github.com/JuliaStrings)
- [InlineStrings.jl](https://github.com/JuliaStrings/InlineStrings.jl) - Fixed-width string types of certain lengths
- [ShortStrings.jl](https://github.com/JuliaString/ShortStrings.jl) - This is an efficient string format for storing strings using integer types
- [StaticStrings.jl](https://github.com/mkitti/StaticStrings.jl) - Fixed-width string types of any length
- [LaTeXStrings.jl](https://github.com/JuliaStrings/LaTeXStrings.jl) - Type LaTeX equations in string literals.

---

<div class="post-metadata">

**Author:** ![mkitti](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/mkitti/32/12459_2.png) [@mkitti](https://discourse.julialang.org/u/mkitti)\
**Post date:** [October 10, 2023, 7:39pm UTC](https://discourse.julialang.org/t/string-documentation-wiki-prototype/104816/2 "2023-10-10T19:39:10Z")

</div>

This is wiki post to organize and prototype documentation for strings in Julia. It is inspired by [Timothy’s post on Slack](https://julialang.slack.com/archives/CN00LP5UK/p1696833648681649) about how documentation in other languages is easier to navigate.

I have created a “wiki post” that allows others to edit the original post to help add to the documentation. The beginning is supposed to be a short index of string functions. Additionally, I have enabled posts to votable so that additional discussion of strings can be added in reply.
