数数 PL / SQL中字符串中的字符和单词的集合

给我们一个任意长度的字符串,任务是使用PL / SQL计算字符串中的字符和单词数。

PL / SQL是SQL与编程语言的程序功能的结合,由Oracle Corporation在90年代初期开发,旨在增强SQL的功能。PL / SQL与SQL本身和Java一样,是Oracle数据库中嵌入的三种主要编程语言之一。

在PL / SQL块中,我们有DECLARE块,用于声明编程中使用的变量,而我们有BEGIN块,在其中为给定问题编写逻辑,

例如

Input − string str = “(cainiaojc.com)”Output− count of characters is: 15
      Count of words are: 2

说明-:在给定的字符串中,我们总共有2个单词,因此单词计数为2,在这些单词中,我们有14个字符,而给定字符串中的1空格。

Input − string str = “Honesty is the best policy”Output − count of characters is: 26
      Count of words are: 5

说明-在给定的字符串中,我们总共有5个单词,因此单词数为5,在这些单词中,我们有24个字符,外加4个字符,表示给定字符串中的四个空格。

以下程序中使用的方法如下

  • 输入任意长度的字符串并将其存储在变量中,例如str

  • 使用该length()函数计算字符串的长度,该函数将根据字符串中包含空格的字母数返回一个整数值。

  • 从i到0遍历循环,直到字符串str的长度

  • 使用substr()将返回字符串中子字符串数即字符串中单词数的函数

  • 并且,随着循环的每次迭代(直到字符串的长度),增加字符数。

  • 打印字符串中的字符和单词数。

示例

DECLARE
      str VARCHAR2(40) := '(cainiaojc.com)';
      nchars NUMBER(4) := 0;
      nwords NUMBER(4) := 1;
      s CHAR;
BEGIN
   FOR i IN 1..Length(str) LOOP
      s := Substr(str, i, 1);
      nchars:= nchars+ 1;
      IF s = ' ' THEN
      nwords := nwords + 1;
      END IF;
END LOOP;
dbms_output.Put_line('count of characters is:'
   ||nchars);

dbms_output.Put_line('Count of words are: '
   ||nwords);
END;

输出结果

如果我们运行上面的代码,它将生成以下输出-

count of characters is: 15
Count of words are: 2