Mercurial > vim
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).