我仍在努力使用Matlab和正则表达式。
这是我到目前为止所得到的,但无论我在尝试什么,它都不适合我。
set_param(blocks(i),'Name',regexprep(get_param(blocks(i),'Name'),'(_ | [0-9])+',''));
set_param(blocks(i),'Name',regexprep(get_param(blocks(i),'Name'),'_ \ w *',''));
非常感谢任何帮助!!
错误:您无法将“5Product”的名称设置为空字符串
答案 0 :(得分:1)
您需要使用交替和锚点:
regexprep(str, '^[0-9]+|_+$', '')
^[0-9]+|_+$
模式将匹配以下两种选择之一:
^[0-9]+
- 字符串开头的一个或多个数字([0-9]+
)(^
)|
- 或_+$
- 字符串末尾的一个或多个_
符号(_+
)($
)