替换名称末尾的下划线和名称开头的数字

时间:2017-03-30 06:34:46

标签: regex matlab replace simulink

我仍在努力使用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”的名称设置为空字符串

1 个答案:

答案 0 :(得分:1)

您需要使用交替和锚点

regexprep(str, '^[0-9]+|_+$', '')

^[0-9]+|_+$模式将匹配以下两种选择之一:

  • ^[0-9]+ - 字符串开头的一个或多个数字([0-9]+)(^
  • | - 或
  • _+$ - 字符串末尾的一个或多个_符号(_+)($