Цель этой статьи — понять переменные строкового типа в программировании на Джулии и различные операции, связанные с ними.
Строки в Julia заключаются в «двойные кавычки».
- Объявите строковую переменную s1.
s1=”hello world” println(s1) print(typeof(s1)) #to check the datatype of variable Output: hello world String
2. Объединение строк
s1=”hello vivek” s2=”welcome to julia tutorial” #using * operator println(s1*’ ‘*s2) #using string function println(string(s1,’ ‘,s2)) Output: "*": hello vivek welcome to julia tutorial "string": hello vivek welcome to julia tutorial
3. Строковый индекс и нарезка
Индекс в типах данных Julia начинается с 1, в отличие от python, где он начинается с 0.
Во-первых, проверьте, что произойдет, если мы будем искать элемент с индексом 0.
println(s1[0]) Output: BoundsError: attempt to access 40-codeunit String at index [0] Stacktrace: [1] checkbounds @ .\strings\basic.jl:216 [inlined] [2] codeunit @ .\strings\string.jl:102 [inlined] [3] getindex(s::String, i::Int64) @ Base .\strings\string.jl:223 [4] top-level scope @ In[4]:5 [5] eval @ .\boot.jl:373 [inlined] [6] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base .\loading.jl:1196
Обычный способ поиска элементов в строке Julia:
println(“item as pos 5 is“,s1[5]) println(“item as pos 9 is“,s1[9]) Output: item as pos 5 is o item as pos 9 is v
Нарезка. Джулия использует ключевые слова «начало» и «конец», чтобы выбрать первый и последний элемент строки.
s1=”hello vivek welcome to julia programming” println("first item of string s1 is:",s1[begin]) println("last item of string s1 is:",s1[end]) Output: first item of string s1 is: h last item of string s1 is: g #slicing println(s1[begin:begin+10]) println(s1[begin+6:begin+18]) println(s1[begin:end-21]) println(s1[begin+6:length(s1)-12]) Output: hello vivek vivek welcome hello vivek welcome vivek welcome to julia #negative Indexing println(s1[end-3]) println(s1[7:end-12]) println(s1[end-10:end]) Output: m vivek welcome to julia programming
4.Интерполяция строк
Интерполяция — это процесс выполнения того, что является исполняемым в строке. Исполняемый файл Julia упоминается как «$».
s1=”vivek” s2=”80" println(“hello $s1, you scored $s2”) Output: hello vivek, you scored 80
5. Сравнение строк
println(cmp(“a”,”a”)) #returns 0 when output is true println(cmp(“def”,”abc”)) #returns 1 when output is false Output: 0 1 println(cmp('a',"a")) Output: MethodError: no method matching isless(::Char, ::String) Closest candidates are: isless(::AbstractString, ::AbstractString) at C:\Users\lenovo\AppData\Local\Programs\Julia-1.7.1\share\julia\base\strings\basic.jl:344 isless(::Any, ::Missing) at C:\Users\lenovo\AppData\Local\Programs\Julia-1.7.1\share\julia\base\missing.jl:88 isless(::Missing, ::Any) at C:\Users\lenovo\AppData\Local\Programs\Julia-1.7.1\share\julia\base\missing.jl:87 ... Stacktrace: [1] cmp(x::Char, y::String) @ Base .\operators.jl:467 [2] top-level scope @ In[22]:2 [3] eval @ .\boot.jl:373 [inlined] [4] include_string(mapexpr::typeof(REPL.softscope), mod::Module, code::String, filename::String) @ Base .\loading.jl:1196
«одинарные кавычки» представляют тип данных char
«двойные кавычки» представляют строковый тип
6. Операции поиска строк
начинается с()
s1=”hi geeks enjoying learning julia” println(startswith(s1,’h’)) println(startswith(s1,’g’)) println(startswith(s1,”hi”)) println(startswith(s1,”julia”)) Output: true false true false
заканчивается()
s1=”hi geeks enjoying learning julia” println(endswith(s1,’a’)) println(endswith(s1,’h’)) println(endswith(s1,”julia”)) println(endswith(s1,”learning”)) Output: true false true false
startswith() и endswith() могут выполнять поиск символов и шаблонов.
findfirst() и findlast():находит вхождение элемента и возвращает позицию.
s1=”hi geeks enjoying learning julia” #findfirst() println(findfirst(‘j’,s1)) --> 12 println(findfirst(“geeks”,s1)) --> 4:8 #findlast() println(findlast(‘j’,s1)) --> 28 println(findlast(‘e’,s1)) -->20 s2="hello vivek, Does vivek like julia?" println("find vivek from first: ",findfirst("vivek",s2)) println("find vivek from last: ",findlast("vivek",s2)) Output: find vivek from first: 7:11 find vivek from last: 19:23
findnext():принимает три аргумента findnext(шаблон,строка,позиция для поиска)
#findnext() println(findnext(‘e’,s1,7)) println(findnext(‘j’,s1,findfirst(‘j’,s1))) Output: 10 12
findprev() – принимает три аргумента findnext(шаблон, строка, позиция для поиска)
#findprev() println(findprev(‘e’,s1,18)) Output: 10
7. Полоска струн
strip(), lstrip() и rstrip()
#strip() println("length of string with whitespace: ",length(" vivek ")) println("length of string without whitespace: ",length(strip(" vivek "))) println(strip(" vivek ")) println(strip("sviveks",'s')) Output: length of string with whitespace: 10 length of string without whitespace: 5 vivek vivek #lstrip() #lstrip println("length of string with whitespace: ",length(" vivek ")) println("length of string without whitespace: ",length(lstrip(" vivek "))) println(lstrip(" vivek",' ')) println(lstrip("sviveks",'s')) Output: length of string with whitespace: 10 length of string without whitespace: 7 vivek viveks #rstrip() println("length of string with whitespace: ",length(" vivek ")) println("length of string without whitespace: ",length(rstrip(" vivek "))) println(rstrip(" vivek",' ')) println(rstrip("sviveks",'s')) Output: length of string with whitespace: 10 length of string without whitespace: 8 vivek svivek
8. split() и join()
split() — sразделяет строку на массив элементов на основе разделителя.
join() — объединяет элементы массива для создания строки.
#split() println(split("vivek#learning#julia#python",'#')) #split the string into 3 array item sprintln(split(“vivek learning julia and python”,’ ‘,limit=3)) Output: SubString{String}["vivek", "learning", "julia", "python"] SubString{String}["vivek", "learning", "julia and python"] #join() #join() similar to pythin join func #join()- joins array of strings into string l=["hello","julia","learners"] println("joined string--> ",join(l,"##")) Output: joined string--> hello##julia##learners
9. substr() — для извлечения части строки
#substring() s1="hi geeks enjoying learning julia" println(SubString(s1,4,17)) println(SubString(s1,10,26)) Output: geeks enjoying enjoying learning
10. sort() —метод работает с массивом элементов для сортировки элементов по возрастанию или по убыванию. Чтобы отсортировать строку, она преобразуется в массив с помощью collect(), а затем используется sort(). применяется, а затем преобразуется обратно в строку с помощью join().
#sort() and collect() println("output of sort -->",sort(collect("vivek"))) println("sorted array converted back to string-->", join(sort(collect("vivek")))) println("sorted array converted back to string reverse-->", join(sort(collect("vivek"),rev=true))) Output: output of sort -->['e', 'i', 'k', 'v', 'v'] sorted array converted back to string-->eikvv sorted array converted back to string reverse-->vvkie
Обобщить:
- Строки Джулии и строковые методы.
Спасибо, что читаете мой блог и поддерживаете содержание. Благодарность всегда помогает поддерживать дух. Я буду стараться изо всех сил, чтобы продолжать придумывать качественный контент. Свяжитесь со мной, чтобы получать обновления о предстоящем новом контенте.
Продолжайте поддерживать.