我需要在文章和文章中突出显示关键字或标签。将变量传递给jQuery Array
我正在使用属性将值从C#传递到java脚本,这也适用于我需要格式化我在数据库中存储的关键字,如one, two, three, four, five,six,seven
为了使其工作,我必须用单'
或双引号"
包装每个关键字。
JQuery的
function HighlightKeywords(keywords) {
var el = $("body");
$(keywords).each(function () {
var pattern = new RegExp("(" + this + ")", ["gi"]);
var rs = "<a href='search.aspx?search=$1'<span style='background-color:#FFFF00;font-weight: bold;background-color:#FFFF00;'>$1</span></a>";
el.html(el.html().replace(pattern, rs));
});
}
HighlightKeywords(["<%= MyProperty %>]");
C#代码
string _sFinalList = null;
protected string MyProperty { get { return _sFinalList; } }
string sKewords = "one, two, three, four, five,six,seven";
List<string> lstKewords = sKewords.Split(',').ToList();
foreach (string list in lstKewords) // Loop through List with foreach
{
_sFinalList += "'" + list + "',";
}
此代码出现问题的原因是,在最后一句话后,我想知道在最后一句话之后避免添加,
的最佳方法的广告,
当前输出:&#34;&#39;一个&#39;,&#39;两个&#39;,&#39;三个&#39;&#39;四&# 39;,&#39;五,&#39;六&#39;七,&#39;&#39;
所需的输出:&#34;&#39;一个&#39;,&#39;两个&#39;三个&#39;四个&#39;四个&# 39;,&#39;五,&#39;六&#39;&#39;七&#39;&#34;
赞赏这方面的帮助
答案 0 :(得分:3)
在C#中,使用String.Join()
:
List<string> lstKeywords = sKeywords.Split(',').ToList();
var quotedKeywords = lstKeywords.Select(s => "'" + s + "'");
string _sFinalList = string.Join(",", quotedKeywords);
答案 1 :(得分:1)
您可以使用String.Join()
string sKewords = "one, two, three, four, five,six,seven";
List<string> lstKewords = sKewords.Split(',').ToList();
var _partial = lstKewords.Select(x => "'" + x + "'");
Var _result = String.Join(",", _partial);
答案 2 :(得分:1)
您可以使用String.Join
var result = string.Format("'{0}'", string.Join("','", yourList));
答案 3 :(得分:0)
完成for循环后,您可以简单地使用字符串类的子字符串函数删除lastIndexOf(“,”)。
OR
如果循环不在最后一次迭代中,你可以在for循环中添加if语句并添加“,”。