0

It is easy to present list of allowed characters as string, like " \n\t".

(char-before) return integer.

How can I check that a character is in a string?

There is What is the easiest way to check if a character belongs to a particular set of characters? where (memq ch (list ?a ?b)) is suggested.

I think that string is constant and don't need to be evaluated in comparison to (list ?a ?b).

I wrote (seq-some (lambda (el) (eq el 32)) "a b") but it also is too high level.

It is possible to convert a character to string: (string-match "[a b]" (char-to-string 32)).

If string is a sequence there is probably a function that detects element in a sequence... (member 32 "a b") doesn't work...

Drew
  • 75,699
  • 9
  • 109
  • 225
gavenkoa
  • 3,352
  • 19
  • 36

1 Answers1

1

There are a few ways you can test whether a character is in a string. Here are two:

(seq-contains "abcd" char)

(memq char (string-to-list "abcd")) ; Which is just (memq char (append "abcd" nil))

(seq-contains is similar to what you did with seq-some.)

Drew
  • 75,699
  • 9
  • 109
  • 225