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

Как получить подстроку в С#?

Я могу получить первые три символа с приведенной ниже функцией.

Однако, как я могу получить вывод последних пяти символов (Три) с помощью функции Substring(). Или будет использоваться другая функция строки?

static void Main()
{
    string input = "OneTwoThree";

    // Get first three characters
    string sub = input.Substring(0, 3);
    Console.WriteLine("Substring: {0}", sub); // Output One. 
}
4b9b3361

Ответ 1

Если ваша строка ввода может быть меньше пяти символов, тогда вы должны знать, что string.Substring будет вызывать ArgumentOutOfRangeException, если Аргумент startIndex отрицательный.

Чтобы решить эту потенциальную проблему, вы можете использовать следующий код:

string sub = input.Substring(Math.Max(0, input.Length - 5));

Или более явно:

public static string Right(string input, int length)
{
    if (length >= input.Length)
    {
        return input;
    }
    else
    {
        return input.Substring(input.Length - length);
    }
}

Ответ 2

string sub = input.Substring(input.Length - 5);

Ответ 3

Если вы можете использовать методы расширения, это сделает это безопасным способом, независимо от длины строки:

public static string Right(this string text, int maxLength)
{
    if (string.IsNullOrEmpty(text) || maxLength <= 0)
    {
        return string.Empty;
    }

    if (maxLength < text.Length)
    {
        return text.Substring(text.Length - maxLength);
    }

    return text;
}

И использовать его:

string sub = input.Right(5);

Ответ 4

static void Main()
    {
        string input = "OneTwoThree";

            //Get last 5 characters
        string sub = input.Substring(6);
        Console.WriteLine("Substring: {0}", sub); // Output Three. 
    }

Подстрока (0, 3) Возвращает подстроку первых 3 символов.//Один

Подстрока (3, 3) Возвращает подстроку вторых 3 символов.//Два

Подстрока (6) Возвращает подстроку всех символов после первого 6.//Three

Ответ 5

Один из способов - использовать свойство Length для строки как часть входа в Substring:

string sub = input.Substring(input.Length - 5); // Retrieves the last 5 characters of input

Ответ 6

Вот быстрый метод расширения, который вы можете использовать, который имитирует синтаксис PHP. Включите AssemblyName.Extensions в файл кода, в котором вы используете расширение.

Тогда вы могли бы позвонить: input.SubstringReverse(-5), и он вернет "Три".

namespace AssemblyName.Extensions {

public static class StringExtensions
{
    /// <summary>
    /// Takes a negative integer - counts back from the end of the string.
    /// </summary>
    /// <param name="str"></param>
    /// <param name="length"></param>
    public static string SubstringReverse(this string str, int length)
    {
        if (length > 0) 
        {
            throw new ArgumentOutOfRangeException("Length must be less than zero.");
        }

        if (str.Length < Math.Abs(length))
        {
            throw new ArgumentOutOfRangeException("Length cannot be greater than the length of the string.");
        }

        return str.Substring((str.Length + length), Math.Abs(length));
    }
}

}

Ответ 7

например.

        string str = null;
        string retString = null;
        str = "This is substring test";
        retString = str.Substring(8, 9);

Эта возвращаемая подстрока

Источник подстроки С#:

Ответ 8

простой способ сделать это в одной строке кода будет

string sub = input.Substring(input.Length > 5 ? input.Length - 5 : 0);

и вот некоторые сведения о Operator?:

Ответ 9

string input = "OneTwoThree";
(if input.length >5)
{
string str=input.substring(input.length-5,5);
}

Ответ 10

подстроку. Этот метод извлекает строки. Для этого требуется расположение подстроки (начальный индекс, длина). Затем он возвращает новую строку с символами в этом диапазоне.

См. небольшой пример:

string input = "OneTwoThree";
// Get first three characters.
string sub = input.Substring(0, 3);
Console.WriteLine("Substring: {0}", sub);

Выход: Подстрока: одна

Ответ 11

        // Get first three characters
        string sub = input.Substring(0, 3);
        Console.WriteLine("Substring: {0}", sub); // Output One. 

        string sub = input.Substring(6, 5);
        Console.WriteLine("Substring: {0}", sub); //You'll get output: Three