用Delphi中的索引替换字符串中的一个字符?

时间:2013-06-17 01:46:10

标签: string delphi

我尝试了以下代码但没有成功。

string.remove[index];
string.insert[index];

任何人都可以建议我如何更正此代码?

3 个答案:

答案 0 :(得分:6)

这样做:

stringVariable[index] := 'A';

答案 1 :(得分:3)

您可以直接访问字符串,就像Delphi中的字符数组一样:

MyString[Index] := NewChar;

对于多个字符删除和插入,System单元提供DeleteInsert

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;