Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB:删除字符数组中最后一个空格后的所有内容_Matlab_Char - Fatal编程技术网

MATLAB:删除字符数组中最后一个空格后的所有内容

MATLAB:删除字符数组中最后一个空格后的所有内容,matlab,char,Matlab,Char,如何删除字符数组中最后一个空格后的所有字符 输入: ch = {'Test1 Index'; 'Test 2 Index'; 'Test 3 4 Curncy'} 预期产出: ch = {'Test1'; 'Test 2'; 'Test 3 4'} 从您的示例中,您似乎希望删除最后一个空格后的所有字符,并删除最后一个空格 您可以按如下方式使用: result = regexprep(ch, '\s\S*$', ''); 正则表达式'\s\s*$'匹配一个空格(\s),后跟零个或多个非空格(

如何删除字符数组中最后一个空格后的所有字符

输入:

ch = {'Test1 Index'; 'Test 2 Index'; 'Test 3 4 Curncy'}
预期产出:

ch = {'Test1'; 'Test 2'; 'Test 3 4'}

从您的示例中,您似乎希望删除最后一个空格后的所有字符,并删除最后一个空格

您可以按如下方式使用:

result = regexprep(ch, '\s\S*$', '');

正则表达式
'\s\s*$'
匹配一个空格(
\s
),后跟零个或多个非空格(
\s*
),直到字符串(
$
)的结尾。匹配的子字符串将替换为空字符串(
'
)。

从您的示例中,您似乎希望删除最后一个空格后的所有字符,并删除最后一个空格

您可以按如下方式使用:

result = regexprep(ch, '\s\S*$', '');

正则表达式
'\s\s*$'
匹配一个空格(
\s
),后跟零个或多个非空格(
\s*
),直到字符串(
$
)的结尾。匹配的子字符串被空字符串(
'
)替换。

请详细说明为什么正则表达式只匹配最后一个空格,而不匹配任何(实际上是第一个)空格?@NickyMattsson,因为它匹配一个空格,后跟零个或多个非空格,直到字符串结束。如果有多个空格,则第一个空格后面不会紧跟非空格。请详细说明为什么正则表达式只匹配最后一个空格,而不匹配任何(实际上是第一个)空格?@NickyMattsson,因为它匹配一个空格,后跟零个或多个非空格,直到字符串结束。如果有多个空格,则第一个空格后面不会紧跟非空格