Count how many vowels and consonants occur in a string

From Rosetta Code
Revision as of 13:38, 26 July 2021 by PureFox (talk | contribs) (Added Go)
Count how many vowels and consonants occur in a string is a draft programming task. It is not yet considered ready to be promoted as a complete task, for reasons that should be found in its talk page.
Task
Check how many vowels and consonants occur in a string



Go

Same approach as the Wren entry. <lang go>package main

import (

   "fmt"
   "strings"

)

func main() {

   const (
       vowels     = "aeiou"
       consonants = "bcdfghjklmnpqrstvwxyz"
   )
   strs := []string{
       "Forever Go programming language",
       "Now is the time for all good men to come to the aid of their country.",
   }
   for _, str := range strs {
       fmt.Println(str)
       str = strings.ToLower(str)
       vc, cc := 0, 0
       for _, c := range str {
           if strings.ContainsRune(vowels, c) {
               vc++
           } else if strings.ContainsRune(consonants, c) {
               cc++
           }
       }
       fmt.Printf("contains %d vowels and %d consonants.\n\n", vc, cc)
   }

}</lang>

Output:
Forever Go programming language
contains 11 vowels and 17 consonants.

Now is the time for all good men to come to the aid of their country.
contains 22 vowels and 31 consonants.

Ring

<lang ring> load "stdlib.ring" see "working..." + nl str = '"' + "Forever Ring Programming Language" + '"' vowel = 0 cons =0

for n = 1 to len(str)

   if isvowel(str[n]) = 1
      vowel += 1
   else not isvowel(str[n]) and ascii(str[n]) > 64 and ascii(str[n]) < 123
      cons += 1
   ok

next

see "Input string = " + str + nl see "In string occur " + vowel + " vowels" + nl see "In string occur " + cons + " consonants" + nl see "done..." + nl </lang>

Output:
working...
Input string = "Forever Ring Programming Language"
In string occur 11 vowels
In string occur 24 consonants
done...

Wren

Library: Wren-str

In the absence of any indications to the contrary, we take a simplistic view of only considering English ASCII vowels (not 'y') and consonants. <lang ecmascript>import "/str" for Str

var vowels = "aeiou" var consonants = "bcdfghjklmnpqrstvwxyz"

var strs = [

   "Forever Wren programming language",
   "Now is the time for all good men to come to the aid of their country."

]

for (str in strs) {

   System.print(str)
   str = Str.lower(str)
   System.write("contains %(str.count { |c| vowels.contains(c) }) vowels and ")
   System.print("%(str.count { |c| consonants.contains(c) }) consonants.")
   System.print()

}</lang>

Output:
Forever Wren programming language
contains 11 vowels and 19 consonants.

Now is the time for all good men to come to the aid of their country.
contains 22 vowels and 31 consonants.