- 积分
- 32
- 注册时间
- 2009-7-29
- 仿真币
-
- 最后登录
- 1970-1-1
|
发表于 2013-7-6 16:54:34
|
显示全部楼层
来自 英国
本帖最后由 lin2009 于 2013-7-6 18:19 编辑
第10题:
关键在用构造合适的匹配模式,仅删除字符串前后的(半角)空格(ASCII 32)。
pat = '^ *([^ ].*[^ ]) *$'; % 原字符串前后可能为半角空格。剩余部分的特征是前后都不是空格字符。
c = regexprep(a,pat,'$1');
assert(isequal(b,c))
验证:- pat = '^ *([^ ].*[^ ]) *;
- %% 1
- a = 'no extra spaces';
- b = 'no extra spaces';
- c = regexprep(a,pat,'$1');
- assert(isequal(b,c))
- %% 2
- a = ' lots of space in front';
- b = 'lots of space in front';
- c = regexprep(a,pat,'$1');
- assert(isequal(b,c))
- %% 3
- a = 'lots of space in back ';
- b = 'lots of space in back';
- c = regexprep(a,pat,'$1');
- assert(isequal(b,c))
- %% 4
- a = ' space on both sides ';
- b = 'space on both sides';
- c = regexprep(a,pat,'$1');
- assert(isequal(b,c))
- %% 5
- a = sprintf('\ttab in front, space at end ');
- b = sprintf('\ttab in front, space at end');
- c = regexprep(a,pat,'$1');
- assert(isequal(b,c))
复制代码 |
评分
-
1
查看全部评分
-
|