JavaScript字符串操作

时间:2014-02-20 07:50:23

标签: javascript regex

我有一个如下所示的字符串:

var stOrig= "ROAM-Synergy-111-222-LLX" ;

可能没有。数字值111-222之前的“字母”术语 可能有也可能没有任何数值,即字符串也可以是这样的: "ROAM-Synergy-LCD-ROAM"

如果有数值,那么我正在使用此

var myval = st.match(/^\D+(?=-)/)[0];   

仅获取数值前的字母术语。它工作正常,直到这里。

但是如果假设字符串不包含任何数值,那么我的正则表达式会返回一个较少的字符,即 假设原始字符串是:"ROAM-Synergy-LCD-ROAM"(其中没有任何数字。) 现在,如果使用上面的reg表达式...那么它将仅返回"ROAM-Synergy-LCD" .. 所以首先我需要检查原始字符串中的任何数值..如果字符串包含数值,那么我使用上面的reg exp ...但请建议如果字符串不包含数值,那么使用什么reg表达式..

1 个答案:

答案 0 :(得分:1)

使用

var myval = st.match(/^\D+(?=-|$)/)[0];

$匹配字符串的末尾。

live on regex101.com