从长字符串中查找某个值

时间:2013-06-21 07:45:13

标签: javascript

以上字符串包含以下部分

第1部分:22208:INCISE SPINE 3 COLUMN ADL SEG [可以任意长度]

第2部分:ü[这用作分隔符]

第3部分:经过认证[可以是有价值的认证/未经认证/未决]

第4部分:〜[这又用作分隔符]

第5部分:12/12/2012 [日期将输入为:mm / dd / yyyy]

所以我想在单独的警报中完成第3部分和第4部分,但我在这里陷入困境,我的JS不够强大,这是我的尝试:

var index = myObject[row].indexOf("ü");
var index2 = myObject[row].indexOf("~");
var statusCPT = myObject[row].substr(index+1)
var statusCPT = statusCPT
var statusDate = myObject[row].substr(index2+1)
alert(statusCPT);
alert(statusDate);

尝试我的方式(我将〜改为Σ)

这是我的内置脚本:

destinationObject[destinationObject.length] = 
    document.frmDiagEdit.DiagnosisCPT.value + 'ü' +
    newstatus + 'Σ' + newdateStatus;

其中最后两个组件是可选的。在所有字符串上构建如下:

22208 : INCISE SPINE 3 COLUMN ADL SEGücertifiedΣ12/12/2012

它应该在三个不同的行中提供3个不同的行,如果日期没有定义,则只显示2

这一切都在剧本中

1 个答案:

答案 0 :(得分:0)

好好学习正则表达式。

您可以使用正则表达式匹配或拆分方法来获取它们。在firebug中尝试这个。由于您有sepeartor,您可以使用split或match和regexps轻松拆分

"22208 : INCISE SPINE 3 COLUMN ADL SEGücertifiedΣ12/12/2012".match(/ü(.+)Σ/)