我有一個蒙面文本框,看起來像這樣的字符串:C#如何挑選出來的某些部分在一個字符串
123.456.789.abc.def.ghi
"---.---.---.---.---.---" (masked TextBox format when empty, cannot use underscore X()
請忽略字符值(它們可以被複制,而不是唯一的以上)。我如何挑出部分字符串,例如「789」? String.Remove()
不起作用,因爲它刪除索引後的所有內容。
我有一個蒙面文本框,看起來像這樣的字符串:C#如何挑選出來的某些部分在一個字符串
123.456.789.abc.def.ghi
"---.---.---.---.---.---" (masked TextBox format when empty, cannot use underscore X()
請忽略字符值(它們可以被複制,而不是唯一的以上)。我如何挑出部分字符串,例如「789」? String.Remove()
不起作用,因爲它刪除索引後的所有內容。
如果.
始終包含在字符串中,則可以使用Split
來分隔值。
string input = "123.456.789.abc.def";
string[] mySplitString = input.Split('.');
for (int i = 0; i < mySplitString.Length; i++)
{
// Do you search part here
}
嘗試使用Replace
。
String.Replace("789", "")
你的意思是你想要獲得那部分字符串?如果是這樣,你可以使用string.Split
string s = "123.456.789.abc.def.ghi";
var splitString = s.Split('.');
// splitString[2] will return "789"
謝謝大家,String.Split()正是我所需要的。 Muchas gracias。 Merci Beaucoup。 Domo arigato gozaimashita。 – CaTx
你可以簡單地使用String.Split
(如果字符串爲您顯示實際的)
string str = "123.456.789.abc.def.ghi";
string[] parts = str.Split('.');
string third = parts.ElementAtOrDefault(2); // zero based index
if(third != null)
Console.Write(third);
我只是用Enumerable.ElementAtOrDefault
因爲它返回null,而不是一個如果集合中沒有這樣的索引,則爲異常(它會回退到parts[2]
)。
感謝您的詳細回覆。 – CaTx
查找的字符串:
string str="123.456.789.abc.def.ghi";
int i = str.IndexOf("789");
string subStr = str.Substring(i,3);
更換子:
str = str.Replace("789","").Replace("..",".");
正則表達式:
str = Regex.Replace(str,"789","");
正則表達式可以給你很大的靈活性發現事情最小代碼,缺點是我t可能難以編寫它們
如果您知道子字符串的起始位置及其長度,您可以使用String.Substring()。這會給你的子:
String myString = "123.456.789";
// looking for "789", which starts at index 8 and is length 3
String smallString = myString.Substring(8, 3);
如果你想刪除的字符串的特定部分,使用String.Replace():
String myString = "123.456.789";
String smallString = myString.Replace("789", "");
VAR =中newstr新的String(str.where(C => 「789」))。tostring(); ..我想這會工作,或者你可以使用像這樣的sumthng
你如何識別該部分? –
你可以更具體地說明你「挑出」字符串的一部分是什麼意思嗎?你只是想刪除它?如果你只是想從你的字符串中刪除一個子字符串,你可以這樣做:myString = myString.Replace(「789」,「」); – Pete
我覺得'挑出'是'提取' – Anirudha