string - 如何计算字符串中的字符(排除某些类型)?

标签 string delphi counting

我需要确定文本框中的字符总数并在标签中显示该值,但需要排除所有空白。

这是代码:

var     
sLength : string;
i : integer;
begin
     sLength := edtTheText.Text;
     slength:= ' ';
     i := length(sLength);

     //display the length of the string
     lblLength.Caption := 'The string is ' +  IntToStr(i)  + ' characters long';

最佳答案

您可以像这样计算非空白字符:

uses
  Character;

function NonWhiteSpaceCharacterCount(const str: string): Integer;
var
  c: Char;
begin
  Result := 0;
  for c in str do
    if not Character.IsWhiteSpace(c) then
      inc(Result);
end;

这使用 Character.IsWhiteSpace判断一个字符是否为空格。当且仅当根据 Unicode 规范将字符分类为空白时,IsWhiteSpace 返回 True。因此,制表符算作空白。

关于string - 如何计算字符串中的字符(排除某些类型)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462500/

相关文章:

欧洲日期的正则表达式/正则表达式 ("j. F Y")

sql - Firebird sql更新命令在delphi中不起作用

php - 计算多维数组中的值

google-sheets - 用于非数值的 Google Sheets "MODE"函数

.net - 如何使用VB.NET为字符串赋值?

android - strings.xml 中的参数是否可能?

java - Java 中的字符串数组 - 声明固定长度,将值传递给构造函数并添加到它们中

delphi - 避免函数会提高性能吗?

Delphi:我如何确定下载速度(以kbps为单位)?

c++ - 计算文本中单词的频率