如何得到一个字符串的第一个五年字符(How to get the first five charac

2019-08-21 16:22发布

我看了这个问题拿到第一个字符的字符串。 有没有办法从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)

在这我能得到的字符串的第一个字母



文章来源: How to get the first five character of a String