Если вы звоните describe-function
на split-string
, обычно нажимая F1 f split-string
Введите , вы можете увидеть в документации, чтовторой параметр - это не просто символ, а регулярное выражение:
Если SEPARATORS не ноль, это должен быть текст регулярного выражения, который разделяет, но не является частью подстрок.Если nil, то по умолчанию это `split-string-default-separators ', обычно" [\ f \ t \ n \ r \ v] + ", и OMIT-NULLS принудительно устанавливается на t.
В то время как для большинства простых строковых операций достаточно встроенных функций Emacs, но когда вы интенсивно используете строковые манипуляции в коде Elisp, s.el
сторонняя библиотека обязательна.Вы можете установить его через менеджер пакетов Emacs, запустив команду package-install
с s
в качестве имени пакета.Предположим, у вас есть несколько функций в нескольких модулях, которые все что-то делают со строками, объединением, разбиением, использованием заглавных букв, сравнением, обрезкой пробелов и так далее.Имеет смысл иметь все строковые функции в общем пространстве имен, поэтому альтернатива s.el
встроенному split-string
будет s-split
:
(s-split "\\." "1.2.3") ; ("1" "2" "3")
Например, если вам нужно преобразовать строку " 1-2-3 "
в "3.2.1"
, вы можете написать:
(s-reverse (s-join "." (s-split "-" (s-trim z))))