C # .NET에서 문자열의 문자를 빈 문자로 바꾸는 방법
다음과 같은 문자열이 있습니다.
string val = "123-12-1234";
C #에서 빈 문자열을 사용하여 대시를 어떻게 바꿀 수 있습니까?
내말은 val.Replace(char oldChar, newChar);
들어가야 할 것 oldChar
및 newChar
.
다른 오버로드를 사용할 수 있습니다 Replace()
.
val = val.Replace("-", string.Empty)
여기에있는 다른 답변은 정확하더라도 초기 의심을 명시 적으로 해결하지 않기 때문에 그렇게 할 것입니다.
호출 string.Replace(char oldChar, char newChar)
하면 문자의 발생을 다른 문자로 대체합니다. 일대일 교체입니다. 이 때문에 결과 문자열의 길이는 동일합니다.
원하는 것은 대시 를 제거 하는 것입니다. 분명히 다른 문자로 바꾸는 것과는 다릅니다. 1 문자는 항상 1 문자이므로 "문자 없음"으로 바꿀 수 없습니다. 그렇기 때문에 문자열을 사용하는 오버로드를 사용해야합니다. 문자열은 길이가 다를 수 있습니다. 길이가 1 인 문자열을 길이가 0 인 문자열로 바꾸면 대시가 사라지고 "nothing"으로 바뀝니다.
이것은 너무 간단 해 보이지만 :
val.Replace("-","");
val.Replace("-", "");
string val = "123-12-1234";
val = val.Replace("-", ""); // result: 123121234
문자열의 문자를 빈 문자로 바꾸려면 문자열에서 해당 문자를 제거하려는 경우 R. Martinho Fernandes의 답변을 읽으십시오.
다음은 문자열에서 문자를 제거하는 방법의 예입니다 ( "빈 문자"로 대체).
public static string RemoveCharFromString(string input, char charItem)
{
int indexOfChar = input.IndexOf(charItem);
if (indexOfChar >= 0)
{
input = input.Remove(indexOfChar, 1);
}
return input;
}
또는 문자열에서 문자의 모든 반복을 제거하는이 버전 :
public static string RemoveCharFromString(string input, char charItem)
{
int indexOfChar = input.IndexOf(charItem);
if (indexOfChar < 0)
{
return input;
}
return RemoveCharFromString(input.Remove(indexOfChar, 1), charItem);
}
루프에있는 경우 제거 할 구두점 문자 목록을 반복한다고 가정 해 보겠습니다. 다음과 같이 할 수 있습니다.
private const string PunctuationChars = ".,!?$";
foreach (var word in words)
{
var word_modified = word;
var modified = false;
foreach (var punctuationChar in PunctuationChars)
{
if (word.IndexOf(punctuationChar) > 0)
{
modified = true;
word_modified = word_modified.Replace("" + punctuationChar, "");
}
}
//////////MORE CODE
}
트릭은 다음과 같습니다.
word_modified.Replace("" + punctuationChar, "");
우리는 백만 개의 지표를 사용하기 때문에 Razvan Dumitru 코드의 라틴어 버전이 있습니다. Offcourse 나는 이중 교체를 사용합니다 : D
public static string CleanNumb(string numb)
{
foreach (char c in ".,'´")
numb = numb.Replace(c, ' ');
return numb.Replace(" ", "");
}
'Development Tip' 카테고리의 다른 글
크로스 플랫폼 IPC (0) | 2020.11.01 |
---|---|
ItemsControl DataTemplate에서 캔버스 속성 설정 (0) | 2020.11.01 |
IE에서 클릭 할 수없는 절대 위치 앵커 태그 (텍스트 없음) (0) | 2020.10.31 |
os.listdir ()을 사용하여 숨겨진 파일을 무시하는 방법은 무엇입니까? (0) | 2020.10.31 |
Rails 3는 유효성 검사 및 콜백 건너 뛰기 (0) | 2020.10.31 |