在javascript中搜索字符串内部

Search inside of a string in javascript

本文关键字:字符串 内部 搜索 javascript      更新时间:2023-09-26

我有一个字符串,我想用javascript解析。字符串内容为

星期二Apr 02 2013 13:36:56 GMT -0500(中央夏令时)

我需要得到javascript"得到开括号后的单词"(在这种情况下"中央")。

我似乎弄不清楚javascript代码。

使用正则表达式,您可以这样使用:

var re = /'(([A-Za-z0-9]+)[ )]/;
var str = "Tue Apr 02 2013 13:36:56 GMT -0500 (Central Daylight Time)";
var matching = str.match(re);
演示:

http://jsfiddle.net/BzxtY/

由于您想要特定的单词,您将使用matching[1]来匹配特定的单词。当然,匹配可能是null,因此您可能需要首先检查它。如果你确定这个正则表达式匹配,就不用麻烦了:)

分解:

  • '( -以(开头

  • ( -(匹配组开始)

  • [A-Za-z0-9]+ -包含A-Z, A-Z, 0-9中的至少一个

  • ) -(匹配组结束)

  • [ )]—以(空格)或()

  • 结尾

最后一部分应该匹配CC_11中的单个单词或多个单词(并且根据需要只获得第一个单词)。例如在"(Central Daylight Time)"中匹配"Central",或在"(Testing)"中匹配"Testing"。

试试这个,

var xStr="Tue Apr 02 2013 13:36:56 GMT -0500 (Central Daylight Time)"
alert(xStr.substring(xStr.indexOf("(")+1).split(" ")[0]);
使用

[概念:子字符串, indexOf , 分裂]

使用indexOf()获取第一个父级的索引。一旦你有了,然后把所有的字符移到下一个空格。

var str = "Tue Apr 02 2013 13:36:56 GMT -0500 (Central Daylight Time)";
var parenIdx = str.indexOf('(') + 1;
var result = str.substring(parenIdx, str.indexOf(' ', parenIdx));

我同意- regex是一种方式(特别是如果它是优雅的):

<string>.replace(/.*'(([^'s]*)'s.*/,'$1');

(注意。这里是更优雅的(正则表达式)

欢呼。