删除 [Delphi] 中剩余的多个字符串
Delete multiple string left in [Delphi]
你好,我需要一个简单的函数来删除左边的文本字符串,请看下面的例子:
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
S := 'Hello test test test [delimitator] goodby.. test teest test';
Delete(S, Pos('[delimitator]', S), MaxInt);
RichEdit1.Text := S;
end;
这个函数清除右边的所有字符,即使我不知道有多少个字符。
问题是,如何反过来,删除左边的所有字符?
您已经知道要使用什么 - Pos()
和 Delete()
。只需调整如何使用它们:
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
S := 'Hello test test test [delimitator] goodby.. test teest test';
Delete(S, 1, Pos('[delimitator]', S));
RichEdit1.Text := S;
end;
您可以使用以下函数来完成此操作。
Function GetRightPart(InputString, Delimiter : String) : String;
VAR
HelpArr : TArray<String>;
begin
HelpArr := InputString.Split([Delimiter]) ;
Result := HulpArr[1];
end;
感谢大家的帮助。这个不是很专业,但是我得出了那个结论,可以单独使用,也可以一起使用。
procedure TForm1.Button2Click(Sender: TObject);
var
left_delimitator,
right_delimitator: integer;
get_left, get_right,
left_dbg, right_dbg: string;
begin
RichEdit1.Clear;
get_left := 'test 123 [delimitator] all string left deleted.';
get_right := 'all string rigth deleted. [delimitator] test 123';
left_delimitator := Pos('[delimitator]', get_left);
if left_delimitator > 0 then
begin
Delete(get_left, 1, Pos('[delimitator]', get_left));
left_dbg := '[' + get_left;
RichEdit1.Lines.Add( left_dbg );
end;
right_delimitator := Pos('[delimitator]', get_right);
if right_delimitator > 0 then
begin
Delete(get_right, Pos('[delimitator]', get_right), MaxInt);
right_dbg := '[delimitator]' + ' ' + get_right;
RichEdit1.Lines.Add( right_dbg );
end;
end;
你好,我需要一个简单的函数来删除左边的文本字符串,请看下面的例子:
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
S := 'Hello test test test [delimitator] goodby.. test teest test';
Delete(S, Pos('[delimitator]', S), MaxInt);
RichEdit1.Text := S;
end;
这个函数清除右边的所有字符,即使我不知道有多少个字符。
问题是,如何反过来,删除左边的所有字符?
您已经知道要使用什么 - Pos()
和 Delete()
。只需调整如何使用它们:
procedure TForm1.Button1Click(Sender: TObject);
var
S: string;
begin
S := 'Hello test test test [delimitator] goodby.. test teest test';
Delete(S, 1, Pos('[delimitator]', S));
RichEdit1.Text := S;
end;
您可以使用以下函数来完成此操作。
Function GetRightPart(InputString, Delimiter : String) : String;
VAR
HelpArr : TArray<String>;
begin
HelpArr := InputString.Split([Delimiter]) ;
Result := HulpArr[1];
end;
感谢大家的帮助。这个不是很专业,但是我得出了那个结论,可以单独使用,也可以一起使用。
procedure TForm1.Button2Click(Sender: TObject);
var
left_delimitator,
right_delimitator: integer;
get_left, get_right,
left_dbg, right_dbg: string;
begin
RichEdit1.Clear;
get_left := 'test 123 [delimitator] all string left deleted.';
get_right := 'all string rigth deleted. [delimitator] test 123';
left_delimitator := Pos('[delimitator]', get_left);
if left_delimitator > 0 then
begin
Delete(get_left, 1, Pos('[delimitator]', get_left));
left_dbg := '[' + get_left;
RichEdit1.Lines.Add( left_dbg );
end;
right_delimitator := Pos('[delimitator]', get_right);
if right_delimitator > 0 then
begin
Delete(get_right, Pos('[delimitator]', get_right), MaxInt);
right_dbg := '[delimitator]' + ' ' + get_right;
RichEdit1.Lines.Add( right_dbg );
end;
end;