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

replace underscores at end of name and numbers at beginning of name

我还在为 Matlab 和正则表达式苦苦挣扎。

这就是我到目前为止所得到的,但无论我尝试什么,它对我来说都不起作用..

set_param(块(i), 'Name', regexprep(get_param(块(i), 'Name'), '(_|[0-9 ])+', ''));

set_param(块(i), 'Name', regexprep(get_param(块(i), 'Name'), '_\w*' , ''));

非常感谢任何帮助!!

错误:您不能将“5Product”的名称设置为空字符串

你需要交替使用和锚点:

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

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

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