30.2.7 Skipping Characters
The following two functions move point over a specified set of characters. For example, they are often used to skip whitespace. For related functions, see Motion and Syntax.
These functions convert the set string to multibyte if the buffer is multibyte, and they convert it to unibyte if the buffer is unibyte, as the search functions do (see Searching and Matching).
function
skip-chars-forward character-set \&optional limitβ
This function moves point in the current buffer forward, skipping over a given set of characters. It examines the character following point, then advances point if the character matches character-set
. This continues until it reaches a character that does not match. The function returns the number of characters moved over.
The argument character-set
is a string, like the inside of a β[β¦]
β in a regular expression except that β]
β does not terminate it, and β\
β quotes β^
β, β-
β or β\
β. Thus, "a-zA-Z"
skips over all letters, stopping before the first nonletter, and "^a-zA-Z"
skips nonletters stopping before the first letter (see Regular Expressions). Character classes can also be used, e.g., "[:alnum:]"
(see Char Classes).
If limit
is supplied (it must be a number or a marker), it specifies the maximum position in the buffer that point can be skipped to. Point will stop at or before limit
.
In the following example, point is initially located directly before the βT
β. After the form is evaluated, point is located at the end of that line (between the βt
β of βhat
β and the newline). The function skips all letters and spaces, but not newlines.
---------- Buffer: foo ----------
I read "βThe cat in the hat
comes back" twice.
---------- Buffer: foo ----------
(skip-chars-forward "a-zA-Z ")
β 18
---------- Buffer: foo ----------
I read "The cat in the hatβ
comes back" twice.
---------- Buffer: foo ----------
function
skip-chars-backward character-set \&optional limitβ
This function moves point backward, skipping characters that match character-set
, until limit
. It is just like skip-chars-forward
except for the direction of motion.
The return value indicates the distance traveled. It is an integer that is zero or less.