我目前有一个字符串1_0707201206050239
,我想截断右边的所有字符,包括_
字符。
问题在于左侧的字符因用户输入而异,因此字符串的长度始终不同。 _
的右侧代表日期和时间(例如07-07-2012 6:05:02.390AM
),长度可以在17-14个字符之间变化。
所以我想知道在检测到_
之前是否有截断的方法?
答案 0 :(得分:8)
text.Substring(0, text.IndexOf('_'));
答案 1 :(得分:1)
您也可以使用:
String.Substring(0, String.indexOf('_'));
答案 2 :(得分:1)
如何使用String.Remove
theString = theString.Remove(sourceString.IndexOf('_'), 1);
答案 3 :(得分:0)
如何处理呢?如果字符串中没有出现字符,它将返回整个字符串:
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') // ""
也易于处理字符串。