我正在寻找一个如何从变量末尾删除一个或多个空格的例子.
(let ((test-variable "hello "))
(if (eq ?\s (aref test-variable (1- (length test-variable))))
(setq test-variable "hello")))
Run Code Online (Sandbox Code Playgroud)
在Emacs 24.4(将于今年晚些时候发布)中,这将更加简单:
(require 'subr-x)
(string-trim-right "some string ")
Run Code Online (Sandbox Code Playgroud)
当你等待24.4时,你可以简单地string-trim-right在本地定义:
(defun string-trim-right (string)
"Remove trailing whitespace from STRING."
(if (string-match "[ \t\n\r]+\\'" string)
(replace-match "" t t string)
string))
Run Code Online (Sandbox Code Playgroud)
简单:(car (split-string "hello "))==>"你好"
您也可以显式使用参数TRIM,因为文档字符串建议:
(split-string "hello "
split-string-default-separators
t
split-string-default-separators)
Run Code Online (Sandbox Code Playgroud)
或者
(replace-regexp-in-string "\s+$" "" "bar ")
"bar"
Run Code Online (Sandbox Code Playgroud)