Как сравнить полукокса с [у Юлии? - PullRequest
6 голосов
/ 30 апреля 2020

В Джулии у меня есть несколько строк в файле, которые начинаются с [char. Чтобы получить эти строки, я пытаюсь сравнить первый символ каждой строки с этим символом, но мне кажется, что мне не хватает некоторого синтаксиса. До сих пор я пробовал это, который возвращает false (для первого) или не принимает символ (для второго):

if (line[1] == "[")

if (line[1] == "\[")

Каков правильный синтаксис для использования здесь?

Ответы [ 2 ]

12 голосов
/ 30 апреля 2020

Каноническим способом было бы использовать startswith, который работает как с одиночными символами, так и с более длинными строками:

julia> line = "[hello, world]";

julia> startswith(line, '[') # single character
true

julia> startswith(line, "[") # length-1 string
true

julia> startswith(line, "[hello") # longer string
true

Если вы действительно хотите получить первый символ string лучше использовать first, поскольку индексирование строк, как правило, сложно.

julia> first(line) == '['
true

См. https://docs.julialang.org/en/v1/manual/strings/#Unicode -and-UTF-8-1 для более подробной информации о индексации строк.

6 голосов
/ 30 апреля 2020

Вы сравниваете строку "[", а не символ '['

Надеюсь, это решит вашу проблему

...