我目前有一个字符串1_0707201206050239
,我想截断包括字符在内的所有_
字符。
问题是左侧的字符会根据用户输入而变化,因此字符串的长度总是不同的。的右侧_
表示日期和时间(例如07-07-2012 6:05:02.390AM
),长度可以在 17-14 个字符之间变化。
所以我想知道是否有办法截断直到_
检测到?
text.Substring(0, text.IndexOf('_'));
您还可以使用:
String.Substring(0, String.indexOf('_'));
如何使用 String.Remove
theString = theString.Remove(sourceString.IndexOf('_'), 1);
怎么样,如果字符串中没有出现字符,则返回整个字符串:
static class StringExtensions
{
internal static string TruncateAtFirst(this string str, params char [] ch)
{
int i = str.IndexOfAny(ch);
return (i < 0 ? str : str.Substring(0, i));
}
}
"abcdefg".TruncateAtFirst('c') // "ab"
"abcdefg".TruncateAtFirst('e', 'b') // "a"
"abcdefg".TruncateAtFirst('z') // "abcdefg"
"".TruncateAtFirst('z') // ""
使用字符串也很容易。