Conteo de palabras que terminan en el sufijo dado en Java

Dada una string str que consta de una oración, la tarea es encontrar la cantidad de palabras en la oración dada que terminan con el sufijo dado suf .

Ejemplos:  

Entrada: str = «GeeksForGeeks es un portal de informática para geeks», suff = «ks» 
Salida:
«GeeksForGeeks» y «geeks» son las únicas palabras que terminan en «ks».

Entrada: str = «Esta es una string de muestra», suff = «es» 
Salida:

Acercarse:  

  • Extrae todas las palabras de la oración dada usando el método split() .
  • Ahora, para cada palabra, verifique si las palabras actuales terminan con el sufijo dado usando el método extremosCon() .

A continuación se muestra la implementación del enfoque anterior:  

C++

// C++ implementation of the approach
#include <bits/stdc++.h>
using namespace std;
 
template <size_t N>
void splitString(string (&arr)[N], string str)
{
    int n = 0;
    istringstream iss(str);
     
    for(auto it = istream_iterator<string>(iss);
             it != istream_iterator<string>() && n < N;
           ++it, ++n)
        arr[n] = *it;
}
 
inline bool ends_with(std::string const& value,
                      std::string const& ending)
{
    if (ending.size() > value.size())
        return false;
         
    return std::equal(ending.rbegin(),
                      ending.rend(),
                      value.rbegin());
}
 
// Function to return the count of words
// in the given sentence that
// end with the given suffix
int endingWith(string str, string suff)
{
     
    // To store the count
    int cnt = 0;
    const int size = 50;
    string words[size];
     
    // Extract words from the sentence
    splitString(words, str);
     
    // For every word
    for(int i = 0; i < size; i++)
    {
         
        // If it ends with the given suffix
        if (ends_with(words[i], suff))
            cnt++;
    }
    return cnt;
}
 
// Driver code
int main()
{
    string str = "GeeksForGeeks is a computer "
                 "science portal for geeks";
    string suff = "ks";
 
    cout << endingWith(str, suff);
}
 
// This code is contributed by pratham76

Java

// Java implementation of the approach
class GFG {
 
    // Function to return the count of words
    // in the given sentence that
    // end with the given suffix
    static int endingWith(String str, String suff)
    {
 
        // To store the count
        int cnt = 0;
 
        // Extract words from the sentence
        String words[] = str.split(" ");
 
        // For every word
        for (int i = 0; i < words.length; i++) {
 
            // If it ends with the given suffix
            if (words[i].endsWith(suff))
                cnt++;
        }
 
        return cnt;
    }
 
    // Driver code
    public static void main(String args[])
    {
        String str = "GeeksForGeeks is a computer"
                     + " science portal for geeks";
        String suff = "ks";
 
        System.out.print(endingWith(str, suff));
    }
}

Python3

# Function declared to
# return the count of words
# in the given sentence that
# end with the given suffix
def endingWith( str , suff ):
     
    # Variable to store count
    c = 0
     
    # split function used to extract words
    # from sentence in form of list
    wrd = str.split(" ")
     
    # using for loop with 'in' to extract
    # elements of list
    for l in wrd:
        if l.endswith(suff):
            c += 1
             
    # returning the count
    return c
 
# Driver Code   
str = "GeeksForGeeks is a computer science portal for geeks"
suff = "ks"
 
# printing the final cde
print(endingWith(str, suff ))
 
# This code is contributed by Animesh_Gupta

C#

// C# implementation of the approach
using System;
class GFG{
  
  // Function to return the count of words
  // in the given sentence that
  // end with the given suffix
  static int endingWith(string str, string suff)
  {
 
    // To store the count
    int cnt = 0;
 
    string []sep = {" "};
 
    // Extract words from the sentence
    string []words = str.Split(sep,
                         StringSplitOptions.RemoveEmptyEntries);
 
    // For every word
    for (int i = 0; i < words.Length; i++)
    {
 
      // If it ends with the given suffix
      if (words[i].EndsWith(suff))
        cnt++;
    }
    return cnt;
  }
 
  // Driver code
  public static void Main(string []args)
  {
    string str = "GeeksForGeeks is a computer" +
                   " science portal for geeks";
    string suff = "ks";
 
    Console.Write(endingWith(str, suff));
  }
}
 
// This code is contributed by rutvik
Producción: 

2

 

Publicación traducida automáticamente

Artículo escrito por jigneshk5 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *