我尝试了以下代码但没有成功。
string.remove[index];
string.insert[index];
谁能建议我如何更正此代码?
只需这样做:
stringVariable[index] := 'A';
您可以直接访问一个字符串,就像它是 Delphi 中的字符数组一样:
MyString[Index] := NewChar;
对于多个字符的删除和插入,该System
单元提供Delete
和Insert
:
System.Delete(MyString, Index, NumChars);
System.Insert(NewChars, MyString, Index);
最新版本的 Delphi 提供了以下辅助函数string
:
MyString := MyString.Remove(3, 1);
MyString := MyString.Insert(3, NewChars);
再一次,请阅读我之前提到过两次的教程。这是一个非常基本的帕斯卡问题,他们中的任何一个都会为您回答。
这是另一种方法。玩得开心德尔福
FUNCTION ReplaceCharInPos(CONST Text: String; Ch: Char; P: Integer): String;
VAR Lng: Integer; left, Right: String;
BEGIN
Lng:= Length(Text);
IF Lng = 0 THEN
Result:= ''
ELSE IF (P < 1) OR (P > Lng) THEN
Result:= Text
ELSE IF P = 1 THEN
Result:= Ch + Copy(Text, 2, Lng - 1)
ELSE IF P = Lng THEN
Result:= Copy(Text, 1, Lng - 1) + Ch
ELSE BEGIN
Left:= Copy(Text, 1, P - 1);
Right:= Copy(Text, P + 1, Lng - P);
Result:= Left + Ch + Right;
END;
END;