Подтвердить что ты не робот

Как получить первый пять символов строки

Я прочитал этот вопрос, чтобы получить первую строку char. Есть ли способ получить первое число символов из строки в С#?

4b9b3361

Ответ 1

Вы можете использовать Enumerable.Take как:

char[] array = yourStringVariable.Take(5).ToArray();

Или вы можете использовать String.Substring.

string str = yourStringVariable.Substring(0,5);

Помните, что String.Substring может генерировать исключение в случае длины строки меньше требуемых символов.

Если вы хотите вернуть результат в строку, вы можете использовать:

  • Использование String Constructor и 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;

Ответ 3

Вы можете использовать Substring (int startIndex, int length)

string result = str.Substring(0,5);

Подстрока начинается с указанной позиции символа и имеет указанную длину. Этот метод не изменяет значение текущего экземпляра. Вместо этого он возвращает новую строку с символами длины, начиная с позиции startIndex в текущей строке, MSDN

Что делать, если длина исходной строки не превышает пяти символов? Вы получите исключение, используя вышеуказанный метод. Мы можем поставить условие, чтобы проверить, если число символов в строке больше 5, а затем получить первые пять через Substring. Примечание. Я присвоил исходную строку переменной firstFiveChar. FirstFiveChar не изменяется, если символы меньше 5, так что в противном случае часть не требуется.

string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
      firstFiveChar = yourStringVariable.Substring(0, 5);

Ответ 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() выдаст исключение, потому что она будет перебирать буквы, которые там не существуют.

Я думаю, вы поняли, что...

Ответ 5

Проблема с .Substring(,) заключается в том, что вам нужно быть уверенным, что данная строка имеет как минимум длину запрошенного количества символов, иначе будет вызываться ArgumentOutOfRangeException.

Решение 1 (с использованием "Подстрока" ):

var firstFive = stringValue != null ? 
                   stringValue.Substring(0, stringValue.Length >= 5 ? 5 : stringValue.Length) :
                   null;

Недостатком использования .Substring( является то, что вам нужно будет проверить длину данной строки.

Решение 2 (используя "Take" ):

var firstFive = stringValue != null ? 
                    string.Join("", stringValue.Take(5)) : 
                    null;

Использование 'Take' предотвратит необходимость проверки длины данной строки.

Ответ 6

Я не знаю, почему кто-то упомянул об этом. Но это самый короткий и самый простой способ добиться этого.

string str = yourString.Remove(n);

n - количество символов, которые вам нужны

Пример

var zz = "7814148471";
Console.WriteLine(zz.Remove(5));
//result - 78141

Ответ 7

Добавьте пять пробельных символов, затем отрежьте первые пять и обрезайте результат. Количество добавленных вами мест должно совпадать с номером, который вы нарезаете. Обязательно укажите скобки перед .Substring(0,X) или ничего не добавите.

string str = (yourStringVariable + "    ").Substring(0,5).Trim();

С помощью этой техники вам не придется беспокоиться о ArgumentOutOfRangeException, упомянутом в других ответах.

Ответ 8

string str = "GoodMorning"

string strModified = str.Substring(0,5);

Ответ 9

Используйте функцию PadRight, чтобы предотвратить слишком короткую строку, возьмите то, что вам нужно, а затем обрежьте пробелы с конца в одном выражении.

strSomeString = strSomeString.PadRight(50).Substring(0,50).TrimEnd();

Ответ 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;
    }
}

Ответ 11

Чтобы получить первое n количество символов из строки в С#

String yourstring="Some Text";  
String first_n_Number_of_Characters=yourstring.Substring(0,n);

Ответ 12

Я использую:

var firstFive = stringValue?.Substring(0, stringValue.Length >= 5 ? 5 : customAlias.Length);

или альтернативу, если вы хотите также проверить значение Whitespace (вместо Null):

var firstFive = !String.IsNullOrWhiteSpace(stringValue) && stringValue.Length >= 5 ? stringValue.Substring(0, 5) : stringValue

Ответ 13

Или вы можете использовать String.ToCharArray().
Он принимает int startindex и int length как параметры и возвращает a char[]

new string(stringValue.ToCharArray(0,5))

Вам все равно нужно убедиться, что строка имеет правильную длину, иначе она будет бросать ArgumentOutOfRangeException

Ответ 14

Если нам нужно только первые 5 символов из любого поля, то это может быть достигнуто с помощью левого атрибута

Vessel = f.Vessel !=null ? f.Vessel.Left(5) : ""

Ответ 15

Попробуйте ввести код

 string Name = "Abhishek";
 string firstfour = Name.Substring(0, 4);
 Response.Write(firstfour);

Ответ 16

Я пробовал вышеупомянутые ответы, и я думаю, что это лучший

@item.First_Name.Substring(0,1)

В этом я мог получить первую букву строки