我下面有一根这样的绳子:
var st = "ROAM-Synergy-111-222-LLX "它可以有任何不。数值..ie之前的术语。其可能的格式是:
var st = "SSI-ROAM-Synergy-111-222-LLX " or
var st = "LCD-SSI-ROAM-Synergy-111-222-LLX" etc..现在,我只需要在这个字符串中的数值之前获取术语。即。"SSI-ROAM-Synergy“或"LCD-SSI-ROAM-Synergy”
我就是这样用的:
var finalString = st.split("-");但是如何只获得数值之前的术语。
发布于 2014-02-17 07:31:00
您可以使用:
var myval = st.match(/^\D+(?=-)/)[0];
//=> SSI-ROAM-Synergy OR LCD-SSI-ROAM-Synergy解释:
^ assert position at start of the string
\D+ match any character that's not a digit [^0-9]
Quantifier: Between one and unlimited times, as many times as possible
(?=-) Positive Lookahead - Assert that the regex below can be matched
- matches the character - literally发布于 2014-02-17 07:45:37
尝试使用以下代码
<script>
var yourString = "ROAM-Synergy-111-222-LLX ";
var output=retriveStartString(yourString);
alert(output);
function retriveStartString(inputString){
var newString="";
for (i=0;i<inputString.length;i++) {
var subStr=inputString.substr(i,1);
//alert(subStr);
if(subStr.charCodeAt(0)>=48 && subStr.charCodeAt(0)<=57){
break;
}
else{
newString+=subStr;
}
}
return newString;
}
</script>发布于 2014-02-17 07:50:44
b="LCD-SSI-ROAM-Synergy-111-222-LLX".match(/^.+?-[0-9]/)[0].split("-");
b.pop();这里,b的输出将是["LCD", "SSI", "ROAM", "Synergy"]
https://stackoverflow.com/questions/21822958
复制相似问题