如果我有一个像'tcm:1-23-8'这样的Tridion URI,我想用正则表达式得到23.
以下是有效的,但我知道有更好的方法.tcm:和'-8'总是在那里.更改的部分是1和23.
var schemaUri = $display.getItem().getId(); // tcm:1-23-8
var re = /tcm:\d-/gi; // = 23-8
var schemaIdWithItemType = schemaUri.replace(re, "");
re = /-8/gi;
var schemaId = schemaIdWithItemType.replace(re, "");
Run Code Online (Sandbox Code Playgroud)
如果数字始终 在2个破折号之间,则可以执行以下操作:
var schemaId = schemaUri.split('-')[1];
Run Code Online (Sandbox Code Playgroud)
这样做如下:
split字符串上的'-'字符串 - >['tcm:1', '23', '8'];'23'或者,试试这个:
var schemaId = schemaUri.match(/-\d+-/)[0].replace(/-/g,'');
Run Code Online (Sandbox Code Playgroud)
这将找到破折号之间的数字.match(/-\d+-/),然后删除破折号.