2011-12-01 60 views
1

我有像這樣替換從字符串開始

Jamie(123) 

一個字符串,我想只顯示Jamie沒有括號等

所有的名字都不同的長度,所以我想知道如果有一種簡單的方法可以從第一個支架開始替換所有的東西?

有些人顯示像此刻這樣

Tom(Test(123)) 
Jack ((4u72)) 

我有一個簡單的替換支架這樣

mystring.Replace("(", "").Replace(")","") 

任何幫助,將不勝感激

感謝

回答

1

VB.NET

mystring.Substring(0, mystring.IndexOf("("C)).Trim() 

C#

mystring.Substring(0, mystring.IndexOf('(')).Trim(); 
0

一個邏輯;得到(的索引,你可以從該位置修剪後面的部分。

public static string Remove(string value) 
      { 
       int pos = value.IndexOf("("); 
       if (pos >= 0) 
       { 
        return value.Remove(pos, remove.Length); 
       } 
       return value; 
      } 
0

String.Remove(Int32)會做你需要的東西:

Deletes all the characters from this string beginning at a 
specified position and continuing through the last position. 

您也將有.Trim()以及給出填充數據:

mystring = mystring.Remove(mystring.IndexOf("("C))).Trim() 
+1

MSDN說刪除了int,不是嗎?見http://msdn.microsoft.com/en-us/library/9ad138yc.aspx – egrunin

+0

廢話我看着那個錯誤,更新了。 –

+0

trim() - 刪除當前String對象中的所有前導和尾隨空格字符。請參閱http://msdn.microsoft.com/en-us/library/t97s7bs3.aspx – nebula

0

aneal的正常工作。我通常使用的替代方法是因爲它更加靈活一點.substring。

string newstring = oldstring.substring(0,oldstring.indexof("(")); 

如果你不能確定oldstring會有「(」你必須首先做了測試,正如aneal顯示在他們的答案。