2010-02-09 141 views
3

我想在C#中找到一種方法來替換字符串中第一個出現的正則表達式。用C#替換第一個逗號

所以,如果string = ",1,2,3,4,5"我想這樣做

string = replacefirst(",","") 

地給出結果:

string = "1,2,3,4,5" 
+0

帖子標題顯示「分號」,但您的示例使用逗號。 – 2010-02-09 10:19:21

+2

如果你有一個數組中的所有元素,你可以使用'String.Join()',這樣你就不必進入這個後處理。 – Oliver 2010-02-09 11:14:51

+0

可能與您的案例無關,但如果您的源字符串是使用String.Join(listOfNumbers,「,」)創建的,那麼結果中不會有額外的逗號(前導/​​尾隨)。 – 2010-02-09 12:10:44

回答

11

您可以使用修剪爲:

var myTrimmedString = myString.TrimStart(','); 
+0

謝謝夥伴!乾杯 – 2010-02-09 10:25:31

0

更改正則表達式只匹配第一個分號。

1

如何:

if(yourString.Startswith(',')) 
     yourString = yourString.Substring(1); 
7
string s = "a;b;c;"; 
Regex rx = new Regex(";"); 
string s2 = rx.Replace(s, "", 1); //"ab;c;" 
+0

我喜歡這種方式完美地回答問題*標題*。 +1 – 2010-02-09 10:20:03

0
string MyString = ",1,2,3,4,6"; 
MessageBox.Show(MyString.Substring(1, MyString.Length-1)); 
+1

這等於:MyString.Substring(1) – Steven 2010-02-09 10:27:44

+0

它只有在逗號是第一個字符時才起作用。 – dada686 2010-02-09 10:40:48

5

在一個正則表達式, 「^」 是指 「開始」

Regex.Replace(",1,2,3,4,5", "^,", "") 

給出1,2,3,4,5