如何在js中查找字符串中的特定值

时间:2017-08-11 10:54:12

标签: javascript html angularjs arrays string

我有这样的数据,

   var str = "#data time #city";

我的目标是将其作为

 var str = <a src="www.test/data">#data</a> time <a src="www.test/city">city</a>

我的意思是在我的字符串中,我发现#下一个值,即数据应该设置为链接www.test / {{param}}的参数,并且应该用链接包围。可以任何建议帮助。感谢。

2 个答案:

答案 0 :(得分:4)

对于这种情况,String.replace() function会对您有所帮助:

var str = "#data time #city"
str = str.replace(/#(\S+)/g, '<a href="#$1">#$1</a>')
output.textContent = str
clickable.innerHTML = str
#output { font-family: courier }
<div id="output"></div>
<div id="clickable"></div>

答案 1 :(得分:0)

以下代码将您的数据转换为预期的输出。 document.write(..)用于调试。

&#13;
&#13;
var data='#data time #city';
var hashtags = data.match(/#\S+/g);   

document.write('before: ' + data + '</br>');

for (j = 0; j < hashtags.length; j++) {
    // remove # from hashtag
    var tag = hashtags[j].substring(1, hashtags[j].length); 
    // create the link
    var link = '< a src="www.test/' + tag + '>#' + tag + '< / a > ';
    
    // replace hashtag with link 
    data=data.replace(hashtags[j], link);
}

document.write('after: ' + data);
&#13;
&#13;
&#13;