홈>
내 프로그램에는 약 25 개의 항목이 있으며 대부분은 문자열입니다. 그러나 그들 중 일부는 숫자가 있어야하며 출력에 해당 숫자가 필요하지 않습니다 (출력은 문자열 만되어야 함). 그렇다면 문자열에서 정수를 어떻게 "필터링"할 수 있습니까?
또한 정수, 문자열 및 문자가있는 경우 어떻게 할 수 있습니까 (예 : 하나의
ListBox
입장은
E#2
입니다
이고 이름이
E#
로 바뀌어야합니다.
출력으로 인쇄)?
- 답변 # 1
- 답변 # 2
이 LINQ 솔루션을 사용하여 문자열에서 모든 숫자를 제거 할 수 있습니다.
string numbers = "Ho5w ar7e y9ou3?"; string noNumbers = new string(numbers.Where(c => !char.IsDigit(c)).ToArray());
번호 없음=
"How are you?"
하지만 foreach 루프를 사용하여 문자열에서 모든 숫자를 제거 할 수도 있습니다 :
string numbers = "Ho5w ar7e y9ou3?"; List<char> noNumList = new List<char>(); foreach (var c in numbers) { if (!char.IsDigit(c)) noNumList.Add(c); } string noNumbers = string.Join("", noNumList);
컬렉션 안의 문자열에서 모든 숫자를 제거하려면 :
List<string> myList = new List<string>() { "Ho5w ar7e y9ou3?", "W9he7re a3re y4ou go6ing?", "He2ll4o!" }; List<char> noNumList = new List<char>(); for (int i = 0; i < myList.Count; i++) { foreach (var c in myList[i]) { if(!char.IsDigit(c)) noNumList.Add(c); } myList[i] = string.Join("", noNumList); noNumList.Clear(); }
myList출력 :
"How are you?" "Where are you going?" "Hello!"
- 답변 # 3
시나리오가 무엇인지 정확히 알지 못하지만 문자열이 주어지면 해당 문자를 반복하고 숫자이면 출력에서 버립니다.
이것은 아마도 당신이 찾고있는 것입니다 :
string entry = "E#2"; char[] output = new char[entry.Length]; for(int i = 0, j =0; i < entry.Length ; i++) { if(!Char.IsDigit(entry[i])) { output[j] = entry[i]; j++; } } Console.WriteLine(output);
성능 부족을 초래할 수있는 문자열 연결을 피하면서 하나의 루프와 두 개의 인덱스 변수로 간단한 솔루션을 제공하려고 노력했습니다.
C # Online Compiler에서 작동하는이 예제를 참조하십시오
- 답변 # 4
내가 틀리지 않은 경우 목록이 어떻게 표시됩니까?
ABCD123 EFGH456
예상되는 출력은 다음과 같습니다.
ABCD EFGH
정확합니까? 그렇다면
List<string>
라고 가정하십시오. 그런 다음 아래 코드를 사용할 수 있습니다.list<string> mylist = new list<string>; foreach(string item in mylist) { ///To get letters/alphabets var letters = new String(item.Where(Char.IsLetter).ToArray()); ///to get special characters var letters = new String(item.Where(Char.IsSymbol).ToArray()) }
이제 코드를 쉽게 결합 할 수 있습니다 :)
트렌드
- OpenCv의 폴더에서 여러 이미지 읽기 (python)
- 파이썬 셀레늄 모든 "href"속성 가져 오기
- html - 자바 스크립트 - 클릭 후 변경 버튼 텍스트 변경
- javascript - 현재 URL에서 특정 div 만 새로 고침/새로 고침
- JSP에 대한 클래스를 컴파일 할 수 없습니다
- JavaScript 변수를 HTML div에 '출력'하는 방법
- git commit - 자식 - 로컬 커밋 된 파일에 대한 변경을 취소하는 방법
- jquery - JavaScript로 현재 세션 값을 얻으시겠습니까?
- javascript - swiperjs에서 정지, 재생 버튼 추가
- python - 화면에서 찾은 요소를 찾을 수없는 경우 셀레늄
작품이
List<string>
에 있다고 가정 목록을 반복 한 다음 각 항목의 각 문자를 반복 한 다음 숫자인지 확인하고 제거 할 수 있습니다. 다음과 같은 것 :질문에서 원하는 것처럼 숫자 만 제거합니다. 문자를 제외한 다른 모든 문자를 제거하려면 논리를 약간 변경하고
Char.IsLetter()
를 사용할 수 있습니다Char.IsDigit()
대신 .