我有一個來自用戶輸入的字符串。我現(xiàn)在要做的是從此字符串中刪除一個唯一字符,但只刪除一次。主要問題是這個唯一字符沒有唯一索引。例如:用戶輸入了一個字符串,如:“0123456”,現(xiàn)在我想刪除第一個'1',所以字符串將輸出為“023456”。但是,如果用戶輸入一個像“01123456”這樣的字符串,我怎樣才能刪除第一個“1”并使它看起來像“0123456”?我正在尋找一種可用于這兩種情況的方法。我正在使用 string.TrimStart(),但沒有得到我想要的。我怎樣才能做到這一點?
3 回答

紫衣仙女
TA貢獻1839條經(jīng)驗 獲得超15個贊
我認為你需要的是string.Remove
方法。請參閱此處的 MSDN 文檔:https ://docs.microsoft.com/en-us/dotnet/api/system.string.remove?view=netframework-4.7.2#System_String_Remove_System_Int32_System_Int32_
如果您不知道您的角色在哪里,請先致電string.IndexOf
找到它。如果此調用返回非負數(shù),則調用Remove
將其刪除。請注意,字符串是不可變的,因此它總是會創(chuàng)建一個新對象。

MMMHUHU
TA貢獻1834條經(jīng)驗 獲得超8個贊
您可以使用Remove和IndexOf。
var str = "01123456";
var i = str.IndexOf('1'); // IndexOf returns -1 when there is no element found, so we need to handle that when calling remove.
var res = (i >= 0) ? str.Remove(i, 1) : str;
Console.WriteLine(res); // 0123456
- 3 回答
- 0 關注
- 174 瀏覽
添加回答
舉報
0/150
提交
取消