首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Javascript字符串操作

Javascript字符串操作
EN

Stack Overflow用户
提问于 2014-02-17 07:19:25
回答 4查看 100关注 0票数 3

我下面有一根这样的绳子:

代码语言:javascript
复制
var st = "ROAM-Synergy-111-222-LLX "

它可以有任何不。数值..ie之前的术语。其可能的格式是:

代码语言:javascript
复制
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”

我就是这样用的:

代码语言:javascript
复制
var finalString = st.split("-");

但是如何只获得数值之前的术语。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-02-17 07:31:00

您可以使用:

代码语言:javascript
复制
var myval = st.match(/^\D+(?=-)/)[0];
//=> SSI-ROAM-Synergy OR LCD-SSI-ROAM-Synergy

解释:

代码语言:javascript
复制
^ 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
票数 3
EN

Stack Overflow用户

发布于 2014-02-17 07:45:37

尝试使用以下代码

代码语言:javascript
复制
<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>
票数 0
EN

Stack Overflow用户

发布于 2014-02-17 07:50:44

代码语言:javascript
复制
b="LCD-SSI-ROAM-Synergy-111-222-LLX".match(/^.+?-[0-9]/)[0].split("-");
b.pop();

这里,b的输出将是["LCD", "SSI", "ROAM", "Synergy"]

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21822958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档