문자열의 처음 다섯 문자를 가져오는 방법
저는 이 문제를 읽고 첫 번째 문자열을 얻었습니다.C#의 문자열에서 처음 n개의 문자를 가져오는 방법이 있습니까?
Enumerable을 사용할 수 있습니다.다음과 같이 하십시오.
char[] array = yourStringVariable.Take(5).ToArray();
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;
시도해 보십시오.
yourString.Substring(0, 5);
C# 부분 문자열, 문자열을 선택합니다.부분 문자열 방법
서브스트링(int start)을 사용할 수 있습니다.인덱스, int 길이)
string result = str.Substring(0,5);
부분 문자열은 지정된 문자 위치에서 시작하고 지정된 길이를 가집니다.이 메서드는 현재 인스턴스의 값을 수정하지 않습니다.대신 시작부터 시작하는 길이가 긴 문자가 포함된 새 문자열을 반환합니다.현재 문자열 MSDN의 인덱스 위치
소스 문자열이 5자 미만이면 어떻게 합니까?위의 방법을 사용하면 예외가 발생합니다.문자열의 문자 수가 5개 이상인지 확인하는 조건을 붙이고 Substring을 통해 처음 5개를 얻을 수 있습니다.첫 번째 FiveChar 변수에 소스 문자열을 할당했습니다.첫 번째 5문자는 문자가 5자 미만이면 변경되지 않으므로 다른 부분은 필요하지 않습니다.
string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
firstFiveChar = yourStringVariable.Substring(0, 5);
아무도 사용할 때 적절한 점검을 하는 방법에 대해 언급하지 않았습니다.Substring()
그래서 저는 그것에 대해 기여하고 싶었습니다.
사용하지 않으려는 경우Linq
와 함께 하라.Substring()
이 " 열이다두길번매변보째개합수커다다니야"의 두 번째 길이)보다.Substring()
기능.
앞의 다섯 글자가 필요하다고 가정해 보겠습니다.다음과 같이 적절한 검사를 통해 해당 항목을 확인해야 합니다.
string title = "love"; // 15 characters
var firstFiveChars = title.Length <= 5 ? title : title.Substring(0, 5);
// firstFiveChars: "love" (4 characters)
수표가 , 이수가없면으표,면,Substring()
함수는 존재하지 않는 문자를 반복하기 때문에 예외를 발생시킵니다.
당신도 이해할 수 있을 것 같아요...
의 .Substring(,)
된 문자열의 된 문자 수 . 않으면 즉, 주, 어, 진, 이, 를, 지, 야, 해, 인, 는, 지, 니, 합, 다, 확, 있, 고, 가, 길, 의, 수, 자, 문, 된, 자, 청, 문, 열, 요, 어, 적, 이, 도, 즉, ,, ▁is, 니, ▁has, 다 그렇지 않으면ArgumentOutOfRangeException
던져질 것입니다.
솔루션 1('부분 문자열' 사용):
var firstFive = stringValue != null && stringValue.Length > 5 ?
stringValue.Substring(0, 5) :
stringValue;
을 사용하는 .Substring(
주어진 문자열의 길이를 확인해야 합니다.
솔루션 2('Take' 사용):
var firstFive = stringValue != null ?
string.Join("", stringValue.Take(5)) :
null;
'Take'를 사용하면 지정된 문자열의 길이를 확인할 필요가 없습니다.
C# 8.0에서 이를 위한 새로운 방법이 있습니다: 범위 연산자
아니면 제가 그들을 부르는 것처럼, 판다들은 슬라이스를 합니다.
이전 방법:
string newString = oldstring.Substring(0, 5);
새로운 방법:
string newString = oldstring[..5];
언뜻 보기에는 더 짧은 코드에 대한 가독성이 상당히 나쁜 절충처럼 보이지만 새로운 기능이 제공합니다.
- 배열(따라서 문자열)을 자르는 표준 구문
이런 멋진 것들:
var slice1 = list[2..^3]; // list[범위].작성(2, 색인).끝에서 만들기(3)]
var slice2 = list[..^3]; // list[범위].끝(색인).끝에서 만들기(3)]
var slice3 = list[2...]; // list[Range].시작(2)]
var slice4 = list[...]; // list[범위].모두]
PadRight 기능을 사용하여 문자열이 너무 짧지 않도록 하고, 필요한 것을 잡은 다음 한 문장에서 끝에서 공백을 모두 잘라냅니다.
strSomeString = strSomeString.PadRight(50).Substring(0,50).TrimEnd();
저는 누가 왜 이것을 언급했는지 모르겠습니다.하지만 이것이 이를 달성하는 가장 짧고 간단한 방법입니다.
string str = yourString.Remove(n);
n
한 문자 수 자
예
var zz = "7814148471";
Console.WriteLine(zz.Remove(5));
//result - 78141
다섯 개의 공백 문자를 추가한 다음 처음 다섯 개를 잘라내고 결과를 자릅니다.추가할 공백 수는 잘라낼 공간 수와 일치해야 합니다. 앞괄호포합니다야해 앞에 ..Substring(0,X)
아무것도 덧붙이지 않을 겁니다
string str = (yourStringVariable + " ").Substring(0,5).Trim();
할 필요가 없습니다.ArgumentOutOfRangeException
다른 답변에서 언급했습니다.
string str = "GoodMorning"
string strModified = str.Substring(0,5);
2020년에는 다음과 같이 진행할 수 있습니다.
var s = "ABCDEFGH";
var first5 = s.AsSpan(0, 5);
스팬<T>는 임시 문자열 할당을 피하면서 문자열의 메모리를 직접 가리킵니다.물론, 다음 방법을 요청합니다.string
변환 필요:
Console.WriteLine(first5.ToString());
하지만, 요즘 많은 사람들이.NET
API는 범위를 허용합니다.가능하면 그들을 고수하세요!
참고: 대상이 되는 경우.NET Framework
시스템에 참조를 추가합니다.메모리 패키지이지만, 동일한 탁월한 성능을 기대하지는 마십시오.
C# 8.0에서는 문자열의 처음 5개 문자를 얻을 수 있습니다.
string str = data[0..5];
C#의 문자열에서 처음 n개의 문자를 가져오는 방법
String yourstring="Some Text";
String first_n_Number_of_Characters=yourstring.Substring(0,n);
아래는 문자열이 필요한 크기보다 큰지 확인하고 문자열을 정의된 최대 문자 양으로 줄이고 '...'을 추가하는 확장 방법입니다.
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;
}
}
str이 5 미만일 때 이 코드를 사용해 보세요.
string strModified = str.Substring(0,str.Length>5?5:str.Length);
C# 8에서는 범위 연산자를 사용할 수 있습니다.원래 문자열이 원하는 길이보다 짧은 경우 예외를 피하기 위해 다음을 사용할 수 있습니다.Math.Min
:
string newString = oldstring[..Math.Min(oldstring.Length, 5)];
물론 원본 문자열이 더 길다는 것을 알고 있다면 다음을 최적화할 수 있습니다.
string newString = oldstring[..5];
사용자:
var firstFive = stringValue?.Substring(0, stringValue.Length >= 5 ? 5 : customAlias.Length);
또는 공백도 확인하려는 경우(Null만 확인하는 대신):
var firstFive = !String.IsNullOrWhiteSpace(stringValue) && stringValue.Length >= 5 ? stringValue.Substring(0, 5) : stringValue
아니면 String을 사용할 수도 있습니다.CharArray()에 연결합니다.
그것은 걸린다.int startindex
그리고int length
매개 변수로 사용하고 a를 반환합니다.char[]
new string(stringValue.ToCharArray(0,5))
문자열의 길이가 올바른지 확인해야 합니다. 그렇지 않으면 문자열이 다음을 던집니다.ArgumentOutOfRangeException
어느 필드에서든 처음 5자만 원하는 경우 왼쪽 속성으로 이를 수행할 수 있습니다.
Vessel = f.Vessel !=null ? f.Vessel.Left(5) : ""
이것은 제가 사용하는 것입니다. 필요한 문자보다 작은 문자열에는 문제가 없습니다.
private string TakeFirstCharacters(string input, int characterAmount)
{
return input?.Substring(0, Math.Min(input.Length, characterAmount));
}
아래 코드로 시도
string Name = "Abhishek";
string firstfour = Name.Substring(0, 4);
Response.Write(firstfour);
나는 위의 답변을 시도해 보았는데 내가 생각하는 최선은 이것입니다.
@item.First_Name.Substring(0,1)
이것에서 나는 문자열의 첫 글자를 얻을 수 있었습니다.
언급URL : https://stackoverflow.com/questions/15941985/how-to-get-the-first-five-character-of-a-string
'programing' 카테고리의 다른 글
설치 시 최신 버전의 Xcode가 고착됨(12.5) (0) | 2023.05.08 |
---|---|
Python, TypeError: 해시할 수 없는 유형: 'list' (0) | 2023.05.08 |
postgresql을 처음으로 구성하는 방법은 무엇입니까? (0) | 2023.05.08 |
Git와 GitHub의 차이점 (0) | 2023.05.08 |
인스턴스 참조를 사용하여 멤버 "에 액세스할 수 없습니다. (0) | 2023.05.08 |