我看了这个问题拿到第一个字符的字符串。 有没有办法从C#中的字符串得到字符的第n个?
Answer 1:
您可以使用Enumerable.Take ,如:
char[] array = yourStringVariable.Take(5).ToArray();
或者你可以使用String.Substring 。
string str = yourStringVariable.Substring(0,5);
请记住, String.Substring
可以在字符串的长度小于所需的字符的情况下抛出异常。
如果你想获得的结果返回字符串,那么你可以使用:
使用字符串构造和LINQ的
Take
string firstFivChar = new string(yourStringVariable.Take(5).ToArray());
与方法的加手之前没有检查长度。
- 另一种方法是使用
String.Substring
错误检查
喜欢:
string firstFivCharWithSubString =
!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5
? yourStringVariable.Substring(0, 5)
: yourStringVariable;
Answer 2:
请试试:
yourString.Substring(0, 5);
检查C#子串 , String.Substring方法
Answer 3:
您可以使用子串(INT的startIndex,INT长度)
string result = str.Substring(0,5);
子串开始于一个指定的字符位置,并具有指定的长度。 此方法不修改当前实例的值。 相反,它返回与从startIndex位置的当前字符串,长度开始字符的新字符串MSDN
如果源字符串是小于五个字符? 您将通过上述方法得到的异常。 我们可以把条件检查,如果在字符串中的字符数量较多,那么5然后通过子串获得第5名。 注意:我已经指定源字符串firstFiveChar变量。 该firstFiveChar不会改变字符是否小于5,所以不需要别的部分。
string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
firstFiveChar = yourStringVariable.Substring(0, 5);
Answer 4:
没有人提到如何使用时进行适当的检查Substring()
所以我想关于作出贡献。
如果你不希望使用Linq
,并与去Substring()
你必须确保你的字符串比的第二个参数(长度)更大的Substring()
函数。
比方说,你所需要的前5个字符。 你应该适当的检查,这样让他们:
string title = "love" // 15 characters
var firstFiveChars = title.Length <= 5 ? title : title.Substring(0, 5);
// firstFiveChars: "love" (4 characters)
如果没有这个检查, Substring()
函数将抛出一个异常,因为它会通过不存在字母迭代。
我想你应该已经明白了...
Answer 5:
这个问题.Substring(,)
是,你需要确保给定的字符串有字符数要求至少长度,否则ArgumentOutOfRangeException
将被抛出。
溶液1(使用'子串'):
var firstFive = stringValue != null ?
stringValue.Substring(0, stringValue.Length >= 5 ? 5 : stringValue.Length) :
null;
使用的缺点.Substring(
是,你需要检查给定字符串的长度。
溶液2(使用'接受'):
var firstFive = stringValue != null ?
string.Join("", stringValue.Take(5)) :
null;
使用“接受”会阻止,你需要检查给定字符串的长度。
Answer 6:
我不知道为什么有人提到了这一点。 但它是实现这一目标的最短和最简单的方法。
string str = yourString.Remove(n);
n
-一个数字,你需要的字符
例
var zz = "7814148471";
Console.WriteLine(zz.Remove(5));
//result - 78141
Answer 7:
追加5个空白字符,然后切断前五和修剪的结果。 你应该追加匹配你正在削减数量的空格数。 一定要包括前括号.Substring(0,X)
否则你会追加什么。
string str = (yourStringVariable + " ").Substring(0,5).Trim();
有了这个技术,你将不必担心ArgumentOutOfRangeException
在其他的答案中提到。
Answer 8:
string str = "GoodMorning"
string strModified = str.Substring(0,5);
Answer 9:
使用PadRight功能,防止串过短,抢你需要什么,然后修剪掉结尾空格都在一个声明。
strSomeString = strSomeString.PadRight(50).Substring(0,50).TrimEnd();
Answer 10:
下面是一个检查,如果一个字符串的长度超过了所需要的更大,缩短了串字符的定义最大金额和附加扩展方法“...”。
public static class StringExtensions
{
public static string Ellipsis(this string s, int charsToDisplay)
{
if (!string.IsNullOrWhiteSpace(s))
return s.Length <= charsToDisplay ? s : new string(s.Take(charsToDisplay).ToArray()) + "...";
return String.Empty;
}
}
Answer 11:
要在C#中的字符串得到字符的第n个
String yourstring="Some Text";
String first_n_Number_of_Characters=yourstring.Substring(0,n);
Answer 12:
我用:
var firstFive = stringValue?.Substring(0, stringValue.Length >= 5 ? 5 : customAlias.Length);
或者选择,如果你想检查空白太多(而不是只空):
var firstFive = !String.IsNullOrWhiteSpace(stringValue) && stringValue.Length >= 5 ? stringValue.Substring(0, 5) : stringValue
Answer 13:
或者你可以使用String.ToCharArray() 。
这需要int startindex
和和int length
作为参数,并返回一个char[]
new string(stringValue.ToCharArray(0,5))
你仍然需要确保该字符串有适当的长度,否则会抛出一个ArgumentOutOfRangeException
Answer 14:
如果我们想从任何领域只有前5个字符,那么可以通过左属性实现
Vessel = f.Vessel !=null ? f.Vessel.Left(5) : ""
Answer 15:
试试下面的代码
string Name = "Abhishek";
string firstfour = Name.Substring(0, 4);
Response.Write(firstfour);
Answer 16:
我已经尝试了上述答案,我认为最好的是这个
@item.First_Name.Substring(0,1)
在这我能得到的字符串的第一个字母