Delphi 문자열 조작의 상용 함수 4
3890 단어 Delphi
AnsiStrLower
function AnsiStrLower(Str: PChar): PChar;:빈 끝 문자열의 모든 문자를 소문자로 변환합니다.
AnsiStrLower('ABCDEF'); // abcdef
AnsiStrUpper
function AnsiStrUpper(Str: PChar): PChar;:빈 끝 문자열의 모든 문자를 대문자로 변환합니다.
2. AnsiStrPos、AnsiStrRScan、AnsiStrScan
AnsiStrPos
function AnsiStrPos(Str, SubStr: PChar): PChar;:매개변수 Substr 하위 문자열이 매개변수 Str 문자열에 처음 나타나는 포인터를 반환합니다.Str에서 SubStr를 찾을 수 없으면 nil로 돌아갑니다.AnsiStrPos는 주로 MBCS 환경에서 사용된다.
AnsiStrRScan
function AnsiStrRScan(Str: PChar; Chr: Char): PChar;:스트링 문자열에서 Chr 문자가 마지막으로 나타나는 포인터를 반환합니다.chr가str에서 찾을 수 없으면 nil로 돌아갑니다.Ansi StrRscan은 주로 MBCS 환경에서 사용된다.
AnsiStrScan
function AnsiStrRScan(Str: PChar; Chr: Char): PChar;:Chr 문자가 Str 문자열에 처음 나타나는 포인터를 반환합니다.chr가str에서 찾을 수 없으면 nil로 돌아갑니다.AnsistrScan은 주로 MBCS 환경에서 사용됩니다(StrScan과 본질적인 차이).
3. ExtractString
function ExtractStrings(Separators, WhiteSpace: TSysCharSet; Content: PChar; Strings: TStrings): Integer;:지정한 구분자에 따라 문자열을 분해하고 분해된 문자열의 개수를 되돌려줍니다.Separator는 분할 문자열을 지정하는 데 사용되는 구분자를 나타냅니다.WhiteSpace는 문자열을 분해할 때 시작 위치를 나타내는 문자열입니다(무시 가능).Content는 분해할 문자열을 나타냅니다.Strings는 분해된 문자열 목록을 저장합니다.
s:='abc,defg,hijkl';
count := ExtractStrings([','],[],PChar(s),Res); //count=3
4. LineStart
function LineStart(Buffer, BufPos: PChar): PChar;:버퍼의 마지막 줄의 바늘을 되돌려줍니다.버퍼는 버퍼의 시작 위치를 표시합니다.bufPos는 뒤로 스캔하는 행 코드 문자를 나타냅니다.
5. SearchBuf
extern PACKAGE char * __fastcall SearchBuf(char *Buf, int BufLen, int SelStart, int SelLength, AnsiString SearchString, TStringSearchOptions Options =TStringSearchOptions() << soDown);:텍스트 버퍼의 시작 위치에 문자열이 있는 포인터를 찾습니다.여기서 Buf는 텍스트 버퍼를 나타냅니다.BufLen은 텍스트 버퍼 길이를 나타냅니다.SelStart는 검색의 시작 위치를 나타냅니다.SelLength는 다음에 찾을 오프셋 수를 나타냅니다.SearchString은 검색된 문자열을 나타냅니다.Options는 속성 설정을 표시한다(soDown은run forward 또는run backward를 표시한다).찾지 못하면 nil로 돌아갑니다.
6. StrCat、StrLCat
StrCat
function StrCat(Dest: PChar; const Source: PChar): PChar;:Dest 문자열의 끝에 매개변수 소스의 문자를 추가하려면 Dest 버퍼에 충분한 공간이 있어야 합니다.여기서 Dest는 의도 버퍼를 나타냅니다.Source는 소스 버퍼를 나타냅니다.
var
str: array[1..15] of char;
pstr : PChar;
begin
StrCopy(@str,'test');
StrCat(@str,'_kimi');
GetMem(pstr,sizeof(char) * 15);
StrCopy(pstr,@str);
Write(pstr); // test_kimi
FreeMem(pstr);
end;
StrLCat
function StrLCat(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar;:MaxLen 매개변수가 지정한 길이에 따라 Dest가 참가하는 문자열의 끝에 매개변수 Source의 문자열을 추가합니다.여기서 MaxLen은 문자열 연결의 최대 길이를 나타냅니다.
7. StrComp、StrLComp
StrComp
function StrComp(const Str1, Str2 : PChar): Integer;:두 문자의 크기를 비교하여 대소문자를 구분하다.여기서 Str1, Str2는 두 문자열 포인터입니다.만약 결과가 0보다 크면 Str1이 Str2 문자 뒤에 배열된다는 것을 의미한다.결과가 0보다 작으면 Str1이 Str2 앞에 배치됩니다.
StrLComp
function StrLComp(const Str1, Str2: PChar; MaxLen: Cardinal): Integer;:대소문자를 구분하지 않고 두 문자의 크기를 비교합니다.여기서 MaxLen은 비교 길이를 나타냅니다.
8. StrCopy、StrECopy、StrLCopy、StrPCopy、StrPLCopy
StrCopy
function StrCopy(Dest: PChar; const Source: PChar): PChar;:매개변수 Source의 문자를 Dest 문자의 끝에 복사하려면 Dest 버퍼에 충분한 공간이 있어야 합니다.여기서 Dest는 의도 버퍼를 나타냅니다.Source는 소스 버퍼를 나타냅니다.
StrECopy
function StrECopy(Dest: PChar; const Source: PChar): PChar;:Strecopy와 가장 큰 차이점은 Strecopy를 중첩하여 사용할 수 있다는 점입니다.
예를 들면 다음과 같습니다.
StrECopy(StrECopy(S,Turbo),''),Pascal);
StrLCopy
function StrLCopy(Dest: PChar; const Source: PChar; MaxLen: Cardinal): PChar;:StrCopy와 가장 큰 차이점은 StrLcopy에서 MaxLen 매개 변수의 길이를 지정한 문자입니다.
StrPCopy
function StrPCopy(Dest: PChar; const Source: string): PChar;:StrCopy와 가장 큰 차이점은 StrPCopy가 StrMove와 비슷한 Dest 문자열의 포인터를 반환한다는 점입니다.
StrPLCopy
function StrPLCopy(Dest: PChar; const Source: string; MaxLen: Cardinal): PChar;:StrPCopy와 가장 큰 차이점과 StrCopy와 StrLcopy의 차이점이 일치합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[Delphi] TStringBuilder그리고 꼭 사용해야만 할까? 그림처럼 Heap 영역에 "Hello" 공간을 생성하고 포인팅을 한다. "Hello World" 공간을 새로 생성한 후 포인팅을 하게 된다. 결국 "Hello" 라는 String 객체가 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.