Count of words ending at the given suffix in Java - GeeksforGeeks

07 Dec, 2020
Given a string str consisting of a sentence, the task is to find the count of words in the given sentence that end with the given suffix suff.
Examples:  
Input: str = “GeeksForGeeks is a computer science portal for geeks”, suff = “ks” Output: 2 “GeeksForGeeks” and “geeks” are the only words ending with “ks”.
Input: str = “This is a sample string”, suff = “is” Output: 2 
Approach:  
Extract all the words from the given sentence using the split() method.
Now for every word check whether the current words ends with the given suffix using endsWith() method.
Below is the implementation of the above approach:  
C++
Java
Python3
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 suffixint 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 codeint 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 implementation of the approachclass 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));    }}
# Function declared to# return the count of words# in the given sentence that# end with the given suffixdef 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 cdeprint(endingWith(str, suff )) # This code is contributed by Animesh_Gupta
// C# implementation of the approachusing 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
2
 
Animesh_Gupta
rutvik_56
pratham76
Java
Java Programs
Strings
Strings
Java
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Stream In Java
Constructors in Java
Exceptions in Java
Functional Interfaces in Java
Different ways of Reading a text file in Java
Java Programming Examples
Convert Double to Integer in Java
Implementing a Linked List in Java using Class
How to Iterate HashMap in Java?
Iterate through List in Java