我尝试了以下代码但没有成功。
string.remove[index];
string.insert[index];
任何人都可以建议我如何更正此代码?
答案 0 :(得分:6)
这样做:
stringVariable[index] := 'A';
答案 1 :(得分:3)
您可以直接访问字符串,就像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);
请再次阅读我之前两次推荐过的教程。这是一个非常基本的Pascal问题,他们中的任何一个都会为你解答。
答案 2 :(得分:0)
这是另一种方法。玩Delphi
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;