diff runtime/doc/eval.txt @ 13513:4064f342bea4 v8.0.1630

patch 8.0.1630: trimming white space is not that easy commit https://github.com/vim/vim/commit/295ac5ab5e840af6051bed5ec9d9acc3c73445de Author: Bram Moolenaar <Bram@vim.org> Date: Thu Mar 22 23:04:02 2018 +0100 patch 8.0.1630: trimming white space is not that easy Problem: Trimming white space is not that easy. Solution: Add the trim() function. (Bukn, closes https://github.com/vim/vim/issues/1280)
author Christian Brabandt <cb@256bit.org>
date Thu, 22 Mar 2018 23:15:06 +0100
parents a4a559e08798
children 1fd0f8392946
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -2463,6 +2463,7 @@ tolower({expr})			String	the String {exp
 toupper({expr})			String	the String {expr} switched to uppercase
 tr({src}, {fromstr}, {tostr})	String	translate chars of {src} in {fromstr}
 					to chars in {tostr}
+trim({text}[, {mask}]) 		String	trim characters in {mask} from {text}
 trunc({expr})			Float	truncate Float {expr}
 type({name})			Number	type of variable {name}
 undofile({name})		String	undo file name for {name}
@@ -8659,6 +8660,22 @@ tr({src}, {fromstr}, {tostr})				*tr()*
 			echo tr("<blob>", "<>", "{}")
 <		returns "{blob}"
 
+trim({text}[, {mask}])						*trim()*
+		Return {text} as a String where any character in {mask} is
+		removed from the beginning and  end of {text}.
+		If {mask} is not given, {mask} is all characters up to 0x20,
+		which includes Tab, space, NL and CR, plus the non-breaking
+		space character 0xa0.
+		This code deals with multibyte characters properly.
+
+		Examples: >
+			echo trim("  \r\t\t\r RESERVE \t \t\n\x0B\x0B")."_TAIL"
+<		returns "RESERVE_TAIL" >
+			echo trim("needrmvRESERVEnnneeedddrrmmmmvv", "ednmrv")
+<		returns "RESERVE" >
+			echo trim("rm<blob1><blob2><any_chars>rrmm<blob1><blob2><blob2>", "rm<blob1><blob2>")
+<		returns "any_chas"
+
 trunc({expr})							*trunc()*
 		Return the largest integral value with magnitude less than or
 		equal to {expr} as a |Float| (truncate towards zero).