2012-08-17 129 views
1

存在字符串问题。我有一个长的字符串是这样的:需要从随机大小字符串中提取字符串

"Other title of some text here name of file Date: 01/01/2011 Picture ID: UYT-2011-01 Company My company" 

我需要做的是只提取图片的ID中,UYT-2011-01部分。前后的文本不是一个大小,可以是整个段落,后面的文本可以是任意长度,事实上,图片ID本身可以是15-20个字符长的任何地方。

为了我的目的,我想在Picture ID:之后提取字符串中的15个字符。

我使用的是Selenium IDE,所以它需要是一个javascript或regexp方法。

回答

0

假设你的图片ID不有空格他们,在他们以后将永远有一个空间,这个正则表达式的解决方案应该在JavaScript的工作:

var longString = "Other title of some text here name of file Date: 01/01/2011 Picture ID: UYT-2011-01 Company My company"; 

longString.match(/Picture ID: ([^ ]*)/); 

// Returns ["Picture ID: UYT-2011-01", "UYT-2011-01"] 

longString.match(/Picture ID: ([^ ]*)/)[1]; 

// Returns "UYT-2011-01" 

匹配这样意味着图片ID可以任何长度,只要它由空格字符分隔。

+0

谢谢,这个伎俩。 – Klendathu 2012-08-17 19:18:58

0

应该让你去。

var str = "Other title of some text here name of file Date: 01/01/2011 Picture ID: UYT-2011-01 Company My company"; 

var searchStart = "Picture ID:"; 
var start = str.indexOf(searchStart); 
var end = str.indexOf("Company"); 
var part = str.substring(start, end); 

//also part.replace(searchStart, ""); 

console.log(part); 
+0

对不起,忘记提及“公司”不明确的地方,它可能是任何东西,这只是一个例子。 – Klendathu 2012-08-17 19:15:03