programing

문자열에서 처음 10자를 제거하는 방법은 무엇입니까?

muds 2023. 4. 26. 23:46
반응형

문자열에서 처음 10자를 제거하는 방법은 무엇입니까?

문자열의 처음 10자를 무시하는 방법은 무엇입니까?

입력:

str = "hello world!";

출력:

d!

str = str.Remove(0,10);처음 10자를 제거합니다.

또는

str = str.Substring(10);문자열의 끝에서 11번째 문자로 시작하는 하위 문자열을 만듭니다.

사용자의 목적에 맞게 동일하게 작동해야 합니다.

str = "hello world!";
str.Substring(10, str.Length-10)

길이 검사를 수행해야 합니다. 그렇지 않으면 오류가 발생합니다.

다른 사람들이 지적했듯이 서브스트링은 아마도 당신이 원하는 것일 것입니다.하지만 다른 옵션을 추가하기 위해...

string result = string.Join(string.Empty, str.Skip(10));

이것에 대한 길이를 확인할 필요도 없습니다! :) 10자 미만이면 빈 문자열을 얻을 수 있습니다.

Substring에는 두 가지 오버로드 방법이 있습니다.

public string Substring(int startIndex);//The substring starts at a specified character position and continues to the end of the string.

public string Substring(int startIndex, int length);//The substring starts at a specified character position and taking length no of character from the startIndex.

따라서 이 시나리오에서는 다음과 같은 첫 번째 방법을 사용할 수 있습니다.

var str = "hello world!";
str = str.Substring(10);

여기서 출력은 다음과 같습니다.

d!

길이를 확인하여 방어 코딩을 적용할 수 있다면,

Substring시작이라는 매개 변수가 있습니다.인덱스. 시작할 인덱스에 따라 설정합니다.

아래 라인을 사용하여 문자를 제거할 수 있습니다.

먼저 해당 문자열에 제거할 수 있는 문자가 충분한지 확인합니다.

   string temp="Hello Stack overflow";
   if(temp.Length>10)
   {
    string textIWant = temp.Remove(0, 10);
   }

C# 8부터는 Range Operator를 사용하면 됩니다.이런 경우를 처리하는 것이 더 효율적이고 더 나은 방법입니다.

string AnString = "Hello World!";
AnString = AnString[10..];

하위 문자열 방법을 사용합니다.

string s = "hello world";
s=s.Substring(10, s.Length-10);

시작할 인덱스인 단일 모수를 사용하는 부분 문자열 방법을 사용할 수 있습니다.

아래 제 코드에서는 길이가 원하는 시작 지수보다 작고 길이가 0인 경우를 처리합니다.

string s = "hello world!";
s = s.Substring(Math.Max(0, Math.Min(10, s.Length - 1)));

대상:

var str = "hello world!";

문자열 길이가 10보다 작거나 같은 경우 처음 10자와 빈 문자열 없이 결과 문자열을 가져오려면 다음을 사용할 수 있습니다.

var result = str.Length <= 10 ? "" : str.Substring(10);

또는

var result = str.Length <= 10 ? "" : str.Remove(0, 10);

메서드 매개 변수가 하나만 필요하기 때문에 선호되는 첫 번째 변형입니다.

길이를 지정할 필요가 없습니다.Substring방법.따라서:

string s = hello world;
string p = s.Substring(3);

p다음과 같습니다.

"lo world".

당신이 충족시켜야 할 유일한 예외는ArgumentOutOfRangeException한다면startIndex0보다 작거나 이 인스턴스의 길이보다 큽니다.

부르기SubString()새 문자열을 할당합니다.최적의 성능을 위해 추가 할당을 피해야 합니다.시작C# 7.2스판 패턴을 활용할 수 있습니다.

타겟팅 시.NET Framework시스템을 포함합니다.메모리 NuGet꾸러미위해서.NET Core이 작업이 즉시 수행될 것으로 예상합니다.

static void Main(string[] args)
{
    var str = "hello world!";
    var span = str.AsSpan(10); // No allocation!

    // Outputs: d!
    foreach (var c in span)
    {
        Console.Write(c);
    }

    Console.WriteLine();
}

언급URL : https://stackoverflow.com/questions/7186648/how-to-remove-first-10-characters-from-a-string

반응형