[英]How to remove character from string?
我有一個從userInput獲取的字符串。 我現在想做的是從此字符串中刪除唯一字符,但只刪除一次。 主要問題是此唯一字符沒有唯一索引。 例如:用戶輸入了一個字符串:“ 0123456”,現在我要刪除第一個'1',因此該字符串將輸出為“ 023456”。 但是,如果用戶輸入的字符串類似“ 01123456”,如何刪除第一個“ 1”並使它看起來像“ 0123456”? 我正在尋找一種可用於兩種情況的方法。 我正在使用string.TrimStart(),但沒有得到我想要的東西。 我怎樣才能做到這一點?
您可以使用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
我認為您需要的是string.Remove
方法。 請參閱此處的MSDN文檔: https : //docs.microsoft.com/zh-cn/dotnet/api/system.string.remove?view= netframework-4.7.2# System_String_Remove_System_Int32_System_Int32_
如果您不知道字符在哪里,請首先調用string.IndexOf
來查找它。 如果此呼叫返回非負數,請致電“ Remove
將其刪除。 請注意,字符串是不可變的,因此它將始終創建一個新對象。
yourstring = yourstring.IndexOf('1') != -1 ? yourstring.Remove(yourstring.IndexOf('1'), 1) : yourstring;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.