10.2. String Functions#
Julia defines a number of functions that operate on strings. For example,
lowercase and uppercase converts all letters to lower- or upper-case:
println(uppercase("julia123 ") * lowercase("LOWER"))
JULIA123 lower
The titlecase commands capitalizes the first character of each word in a string:
str = "SEARCHING FOR CHARACTERS AND SUBSTRINGS"
titlecase(str)
"Searching For Characters And Substrings"
10.2.1. Searching for characters and substrings#
The ∈ operator (type “\in” and tab) returns true if a characters appears in a string:
'!' ∈ str
false
The function findfirst(pattern, str) returns the indices of the first occurance of pattern in str:
str = "Hello, World! These are my words."
pattern = "wor"
idx1 = findfirst(pattern, lowercase(str))
8:10
The function findnext(pattern, str, start) returns the indicies of the next occurance of pattern in str after the one at position start:
idx2 = findnext(pattern, lowercase(str), idx1[end])
28:30
Similarly, findlast and findprev starts from the end of the string.
10.2.2. Replacing substrings#
The function replace(str, pattern=>repl) searches the string str for all occurances of the substring pattern, and replace them with the string repl:
println(str)
println(replace(str, ", World"=>" there"))
Hello, World! These are my words.
Hello there! These are my words.
10.2.3. Converting strings#
The function parse(Type, string; base) lets you parse a string that contains a number into the actual number.
parse(Int, "1234")
1234
parse(Int, "011010", base = 2)
26
parse(Float64, "1.2e-3")
0.0012
This function is particularly useful when parsing input files containing numbers.
strings = ["123.4", "4590.12", "0.456"]
parse.(Float64, strings)
3-element Vector{Float64}:
123.4
4590.12
0.456