답변:
Enumerable 을 사용할 수 있습니다 .
char[] array = yourStringVariable.Take(5).ToArray();
또는 String.Substring 을 사용할 수 있습니다 .
string str = yourStringVariable.Substring(0,5);
String.Substring
문자열 길이가 필요한 문자보다 작은 경우 예외 가 발생할 수 있습니다.
결과를 문자열로 되돌리려면 다음을 사용할 수 있습니다.
문자열 생성자와 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;
IsNullOrWhiteSpace
여기가 잘못되었습니다. 10 개의 공백이있는 문자열을 고려하십시오. 코드는 10을 모두 반환합니다. IsNullOrEmpty
대신 사용하십시오 . ( IsNullOrWhiteSpace
다른 테스트와 함께 사용하는 것은 좋지 않습니다 . 대신 null + empty를 Trim
테스트 한 다음 동작이 지정된 경우 필요한 테스트 / 작업을 수행하십시오.)
하위 문자열 을 사용할 수 있습니다 (int startIndex, int length)
string result = str.Substring(0,5);
하위 문자열은 지정된 문자 위치에서 시작하며 지정된 길이를 갖습니다. 이 방법은 현재 인스턴스의 값을 수정하지 않습니다. 대신 현재 문자열 인 MSDN 의 startIndex 위치에서 시작하여 길이 문자가 포함 된 새 문자열을 반환합니다.
소스 문자열이 5 자 미만이면 어떻게됩니까? 위의 방법을 사용하면 예외가 발생합니다. 문자열의 문자 수가 5보다 많은지 확인하고 하위 문자열을 통해 처음 5 개를 얻는 조건을 넣을 수 있습니다. 참고 소스 문자열을 firstFiveChar 변수에 할당했습니다. 문자가 5보다 작 으면 firstFiveChar가 변경되지 않으므로 부분이 필요하지 않습니다.
string firstFiveChar = str;
If(!String.IsNullOrWhiteSpace(yourStringVariable) && yourStringVariable.Length >= 5)
firstFiveChar = yourStringVariable.Substring(0, 5);
아무도 사용할 때 적절한 검사를 수행하는 방법에 대해 언급하지 않았 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()
함수는 존재하지 않는 문자를 반복하므로 예외가 발생합니다.
나는 당신이 아이디어를 얻는다고 생각합니다 ...
문제 .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'를 사용 하면 주어진 문자열의 길이를 확인할 필요가 없습니다.
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
공백 문자 5 개를 추가 한 후 처음 5자를 잘라 내고 결과를 자릅니다. 추가하는 공백의 수는 절단하는 숫자와 일치해야합니다. 앞에 괄호를 포함 시키십시오 .Substring(0,X)
. 그렇지 않으면 아무 것도 추가하지 않습니다.
string str = (yourStringVariable + " ").Substring(0,5).Trim();
이 기술을 사용하면 ArgumentOutOfRangeException
다른 답변 에서 언급 한 것에 대해 걱정할 필요가 없습니다 .
C # 8.0에서이를 수행하는 새로운 방법이 있습니다. 범위 연산자
또는 em이라고 부르는 것처럼 Pandas 슬라이스.
옛날 방식 :
string newString = oldstring.Substring(0, 5);
새로운 길:
string newString = oldstring[..5];
언뜻보기에 짧은 코드에 대한 가독성이 다소 좋지 않은 트레이드 오프처럼 보이지만 새로운 기능은
이런 멋진 것들 :
var slice1 = list [2 .. ^ 3]; // 목록 [Range.Create (2, Index.CreateFromEnd (3))]
var slice2 = list [.. ^ 3]; // 목록 [Range.ToEnd (Index.CreateFromEnd (3))]
var slice3 = list [2 ..]; // 목록 [Range.FromStart (2)]
var slice4 = 목록 [..]; //리스트 [Range.All]
다음은 문자열이 필요한 것보다 큰지 확인하고 문자열을 정의 된 최대 문자 수로 줄이고 '...'를 추가하는 확장 방법입니다.
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;
}
}
또는 String.ToCharArray () 사용할 수 있습니다 .
그것은 필요 int startindex
와 및 int length
매개 변수와 리턴로char[]
new string(stringValue.ToCharArray(0,5))
문자열의 길이가 적절한 지 확인해야합니다. 그렇지 않으면 ArgumentOutOfRangeException
아래 코드를보십시오
string Name = "Abhishek";
string firstfour = Name.Substring(0, 4);
Response.Write(firstfour);
위의 답변을 시도했지만 최선이라고 생각합니다.
@item.First_Name.Substring(0,1)
이것에서 나는 문자열의 첫 글자를 얻을 수 있습니다
char
** s 에 대해 묻는 것이며 ** characters에 대해 묻는 것 입니다. 그들은 같은 것이 아닙니다.𣊾
그리고𣇞
프로그래머가 사이의 차이를 몰라서 사용 된 C # I로 작성 소프트웨어에서 실패 난 그냥 어제 사용하는 데 필요한 두 개의 문자입니다char
및 문자가. 이 함정에 빠지지 마십시오!