我有一個字符串,我的要求是從我的字符串中我應該從第一個分號(;)得到前4個字符。如何在第一個分號後得到字符串前4個字符
我有下面的代碼:
var str1 = Settings.Default.sConstr.ToString();
var str2 = Settings.Default.dConstr.ToString();
string name = //sub string of str1 + sub string of str2;
我們怎樣才能做到這一點...?
我有一個字符串,我的要求是從我的字符串中我應該從第一個分號(;)得到前4個字符。如何在第一個分號後得到字符串前4個字符
我有下面的代碼:
var str1 = Settings.Default.sConstr.ToString();
var str2 = Settings.Default.dConstr.ToString();
string name = //sub string of str1 + sub string of str2;
我們怎樣才能做到這一點...?
您可以使用Split()
做到這一點。
var str1 = Settings.Default.sConstr.Split(';');
var str2 = Settings.Default.dConstr.Split(';');
string name = str1[1].Substring(0,4)+" "+str2[1].Substring(0,4);
希望它的工作。
您可以使用String.IndexOf
和String.SubString
方法;
string s = "asdfghj;zxcvb";
var index = s.IndexOf(';');
Console.WriteLine(s.Substring(index -4, 4));
輸出將是;
fghj
這裏一個demonstration
。
如果你看4個字符AFTER半列,你可以使用它像;
string s = "asdfghj;zxcvb";
var index = s.IndexOf(';');
Console.WriteLine(s.Substring(index + 1, 4));
輸出將是;
zxcv
這裏一個demonstration
。
還檢查你的字符串是否包含;
字符,它有4個字符後;
是一個很好的想法;
if(s.Contains(';') && (s.Length >= s.IndexOf(';') + 5))
{
//Your code
}
很難肯定地說,但它聽起來像他希望的前4個字符_after_分號。 –
我認爲「前4個字符」是指第一個分號後的前4個字符。 –
@GrantWinney和Konrad Gadzina,你可以是對的人。更新了我的答案。感謝您的警告。 –
str1.Substring(str1.IndexOf(';'), 4) + str2.Substring(str2.IndexOf(';'), 4);
,或者如果你的;
後要4
chars
然後用這一個:
str1.Substring(str1.IndexOf(';') + 1, 4) + str2.Substring(str2.IndexOf(';') + 1, 4);
嘗試:
var stringToGetFrom = "some characters;Get this stuff.";
var chars = stringToGetFrom.SkipWhile(c => c != ';').Skip(1).Take(3);
// Will contain the string "Get":
var selectedString = new string(chars.ToArray());
string s = "asdfghj;zxcvb";
string result = s.Split(new char[]{';'})[1].Substring(0,4);
或:
string s = "asdfghj;zxcvb";
var chars = s.Split(new char[] { ';' })[1].ToCharArray().Take(4).ToArray();
string result = new string(chars);
我爲您的答案添加了異常處理,這對於此類操作非常重要。 – glautrou