【发布时间】:2016-08-26 18:53:35
【问题描述】:
我有一堆格式为“TYPE_1_VARIABLE_NAME”的字符串。
目标是得到3个形式的变量:
varType = 'TYPE',
varNumber = '1',
varName = 'VARIABLE_NAME'
实现这一目标的最有效方法是什么?
我知道我可以使用:
var firstUnderscore = str.indexOf('_')
varType = str.slice(0, firstUnderscore))
varNumber = str.slice(firstUnderscore+1,firstUnderscore+2)
varName = str.slice(firstUnderscore+3)
但这感觉是一种糟糕的做法。有没有更好的办法?正则表达式?
或者我应该将变量重命名为“TYPE_1_variableName”并执行以下操作:
varArray = str.split('_')
然后得到它们:
varType = varArray[0],
varNumber = varArray[1],
varName = varArray[2]
任何帮助表示赞赏。 jQuery 也可以。
【问题讨论】:
-
您所说的“更好”或“最有效”是什么意思?究竟是什么让选项 A 比选项 B 或 C“更好”?什么最有效?代码执行?代码可维护性?可读性?
-
正则表达式
-
我推荐
var arr = str.split('_')方法 -
(.*?)_(.*?)_(.*?)$,您的团队将拥有您的价值观。或(.*?)_(.*?)_(.*) -
在这种情况下,我不会太担心速度(除非您循环数以万计),所以选择对您来说最易读的那个。
标签: javascript jquery split