1

我有一个关于在 javascript 中拆分字符串的问题。我从其他地方得到一个字符串,我只想得到它的一部分。我不能使用 substr 因为它的长度可以改变。我也看了 split 方法,但还不够。例如,我的一个字符串如下所示:

<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 &deg; F. For more details?

我只想得到 img 标签和数字 84。有什么建议吗?谢谢

4

3 回答 3

2

这是应该使用正则表达式的地方。

您可以执行以下操作:

var inputStr = '<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 &deg; F. For more details?';
var regex = /<img.*?src="(.*?)".*?>.*?([0-9]+\s*&deg;\s*[CF])/;
var results = regex.exec(inputStr);

results[1]; // => "http://image.weather.com/web/common/wxicons/31/30.gif?12122006"
results[2]; // => "84 &deg; F"

请参阅使用此代码的工作示例:

http://jsfiddle.net/epkcn/

于 2012-07-25T11:15:50.440 回答
1
var root = document.createElement("div");
root.innerHTML = '<img src="http://image.weather.com/web/common/wxicons/31/30.gif?12122006" alt="" />Partly Cloudy, and 84 &deg; F. For more details?';

var src = root.firstChild.src; //the src
var number = +root.firstChild.nextSibling.nodeValue.match( /\d+/ )[0]; //84
于 2012-07-25T11:16:00.033 回答
0

您可以使用正则表达式来准确指定要在字符串中查找的内容。

于 2012-07-25T11:14:26.507 回答