Elisp: String Functions
Here are the most basic string functions in elisp.
;; length (length "abc") ; returns 3
;; Extract a substring (substring myStr myStartPos myEndPos)
;; join strings (concat "some" "thing")
Match String by Regex
;; check if a string matches a pattern (string-match myRegex myStr)
Get Captured String from Regex Match
In emacs, most functions that take a regex argument, after being called, will save/modify info in “match data”, such as caputured groups.
Match data can be accessed by the function
match-data, and other functions.
The most useful is
match-string, which returns the captured string.
;; get captured match ;; second argument is optional, but required if the last match is done by “string-match” (match-string 1 myStr)
Replace in String
;; change a given string using regex. Returns changed string. (replace-regexp-in-string myRegex myReplacement myStr)
;; split string into parts, returns a list (split-string "xy_007_cat" "_")
String To/From Number
(string-to-number "3") ; change datatype (number-to-string 3) ; convert to string (format "%d" 3) ; similar to number-to-string but with fine control
String to Buffer
Emacs has only a few functions that takes a string as argument. Any non-trivial string processing is done with a buffer.
If you got a big string already somehow, you can put into a buffer by using
with-temp-buffer, then insert your string, process it, then use
buffer-string to get the whole buffer content.
;; you got myBigString ;; you want to put into a buffer to work with it (with-temp-buffer (insert myBigString) (goto-char (point-min)) ;; do stuff here ;; return whole buffer string (buffer-string) )
Trim String and Others
Elisp Basic Functions
If you have a question, put $5 at patreon and message me.