【发布时间】:2013-08-27 08:07:47
【问题描述】:
我正在创建一个程序,我在其中搜索字符串中的元音,找到它们后,需要从字符串中删除元音。
mystring := 'August' ;
{if mystring[1] IN ['A','E','I','O','U'] ;}
for k := 1 to length(mystring) DO
BEGIN
if mystring[K] IN ['a','e','i','o','u']
then mystring[k] := ''
但是错误
不兼容的类型:出现'Char'和'String'"
如何从字符串中删除元音?
【问题讨论】:
-
空字符串
''不是字符。这是,嗯,空字符串。您使用的是哪个版本的 Delphi?你能在你的问题中添加一个 Delphi 版本标签吗? -
@Alexandr 不,不要那样做。想想当您将字符串放入编辑控件时会发生什么。
-
我会使用我最喜欢的
pointer char technique:-) [我知道很多人讨厌它] -
@TLama 好的,我不喜欢它——当我们将产品从 Delphi 7 迁移到 XE 时,我仍然受到这样的代码的创伤,XE 要么比无指针版本慢,要么有问题(带有unicode)或只是不可读(通常是这些的组合)。
-
@Stefan,它永远是你的选择。是的,它的可读性较差,但它与 ANSI/Unicode 兼容。你刚才写得不好。