문자열에서 처음 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
한다면startIndex
0보다 작거나 이 인스턴스의 길이보다 큽니다.
부르기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
'programing' 카테고리의 다른 글
WPF 텍스트 블록에서 내 텍스트를 여러 줄로 표시하려면 어떻게 해야 합니까? (0) | 2023.04.26 |
---|---|
Eclipse에서 AVD 또는 SDK 관리자를 찾을 수 없습니다. (0) | 2023.04.26 |
zure 웹 사이트의 파일 시스템에 쓸 수 있습니까? (0) | 2023.04.26 |
SQL Server 2008: 모든 데이터베이스 크기를 쿼리하는 방법 (0) | 2023.04.26 |
Xcode 10에서 명령 CompileSwift가 0이 아닌 종료 코드로 실패했습니다. (0) | 2023.04.26 |