Как заменить последнее вхождение символа в .net - PullRequest
4 голосов
/ 03 ноября 2011

Я хочу заменить последнее вхождение <li>, чтобы добавить в него класс, это должно выглядеть так, как показано ниже. <li class="last">

<li><span>Vislink Acquires Gigawave for US$6 Million </span></li>
<li><span>Newegg Offers $25 7-inch DTV</span></li>
<li><span>The Hope of Broadcasters  </span></li>
<li><span>ICANN Approves Custom Domain Extensions  </span></li>
<li><span>Sciences Ending U.S. Sales  </span></li>
<li><span>LightSquared Proposes Plan to  </span></li>
<li><span>Wimbledon Gets 3D upgrade </span></li>
<li><span>The Hope of Broadcasters  </span></li>
<li><span>LightSquared Proposes Plan to  </span></li>
<li class="last"><span> Newegg Offers $25 7-inch DTV  </span></li>

Я сохранил вышеупомянутый HTML в строковой переменной. что я мог сделать, чтобы достичь этого.

Ответы [ 4 ]

12 голосов
/ 03 ноября 2011

Если вы делаете это в коде, что, как я понимаю, имеет место, попробуйте что-то вроде:

    var last = htmlString.LastIndexOf("<li>");
    htmlString = htmlString.Remove(last, 4).Insert(last, "<li class=\"last\"");
2 голосов
/ 03 ноября 2011
string data = ...;
string toReplace ="<li>";
string toPlace = "<li class=\"last\">";
int idx = data.LastIndexOf(toReplace);
data = data.Remove(idx, toReplace.Length).Insert(idx, toPlace);
1 голос
/ 03 ноября 2011

Может быть, вы можете использовать jquery для достижения этой цели:

$("li:last").addClass("last")
0 голосов
/ 03 ноября 2011

Вы можете сделать это в jQuery следующим образом:

$("#listid li:last").addClass("last");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...