[Delphi] 숫자 or 문자 제거하기
숫자 or 문자 제거하기 예제
String 변수값에서 숫자 혹은 문자를 골라내서 삭제할 수 있는 간단한 메서드 예제
String 변수값에서 숫자 혹은 문자를 골라내서 삭제할 수 있는 간단한 메서드 예제
코드 출처 : Stack Overflow
숫자만 제거하기
function RemoveDecimal(const aString: string): string;
var
C:Char; Index:Integer;
begin
Result := '';
SetLength(Result, Length(aString));
Index := 1;
for C in aString do
begin
if not CharInSet(C, ['0' .. '9']) then
begin
Result[Index] := C;
Inc(Index);
end;
end;
SetLength(Result, Index-1);
end;
- for-in 문 을 사용한 것을 볼 수 있다.
- delphi 2005 버전 이상부터 사용할 수 있다.
문자만 제거하기
위 예제 코드에서 조건만 반대로 걸면, 숫자가 아니라 문자만 제거할 수도 있다.
procedure RemoveChar(var s: string);
var
i, j: Integer;
pc: PChar;
begin
j := 0;
pc := PChar(@s[1]);
for i := 0 to Length(s) - 1 do
begin
if not (pc[i] in ['0'..'9']) then
Inc(j)
else
pc[i - j] := pc[i];
end;
SetLength(s, Length(s) - j);
end;
- for-in 문을 사용하지 않아 하위버전 호환성을 고려한 코드.
- 대신, 매개변수를
var
타입으로 받고 있으므로,procedure
로 구현하였다. - 따라서, 매개변수로 넘겨받는 변수 자체에 할당되어 있는 값 자체가 바뀌는 점을 유의해야 한다.
- 대신, 매개변수를
Author And Source
이 문제에 관하여([Delphi] 숫자 or 문자 제거하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@zooxop/Delphi-숫자-or-문자-제거하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)