2011-04-15 76 views
2

我需要解析一個句子。 如果我在句子中找到了一個散列,我想大膽。如何解析ASP.NET中的字符串?

例子:卓悅#hello HI =>卓悅#hello

+5

可能屬於在計算器上,和後什麼樣的代碼你有問題一起嘗試。 – Brook 2011-04-15 23:27:06

回答

6

似乎是正則表達式

的良好局面

我會做這樣的事情

boldHashes("Bonjour #hello Hi"); 

... 

private string boldHashes(string str) 
{ 
    return Regex.Replace(str, @"(#\w+)", "<strong>$1</strong>"); 
} 

在這種情況下,我們會等額文字哈希#加任何長度\w+和組它的一個字()之間,所以我們可以在Regex.Replace功能使用$1substitions


更新 jQuery做同樣的事情。

喜歡的東西:

HTML

<div id="myDiv">Bonjour #Hello hi</div> 

jQuery的

$('#myDiv').html($('#myDiv').text().replace(/(#\w+)/g, '<strong>$1</strong>')); 
+0

是否有可能在視圖中使用它?因爲我在html中需要它。因爲我想保存這個字符串而沒有'' – Steffi 2011-04-16 08:13:38

+0

謝謝!有用 !!! – Steffi 2011-04-16 08:36:40

+0

如何用jQuery做同樣的事情?請 ? – Steffi 2011-04-16 08:37:37

1

有可能是一個更優雅的方式來做到這一點,但你可以使用String.IndexOf方法求得該散列的第一個實例,像這樣

String myString = "Bonjour #hello hi"; 
int index = myString.IndexOf('#'); 
if(index>-1) //IndexOf returns -1 if the character isn't found 
{ 
    //search for the next space after the hash 
    int endIndex=mystring.IndexOf(' ',index+1) 
    myString=MakeBold(myString,index,endIndex); 
} 

剩下的就是實現MakeBold功能。

+0

另外,你可能想要擴展函數來考慮字符串中的多個哈希值。 – 2011-04-16 00:32:36