Find if a string starts and ends with another given string - GeeksforGeeks

07 May, 2021
Given a string str and a corner string cs, we need to find out whether the string str starts and ends with the corner string cs or not.Examples:  
Input : str = "geeksmanishgeeks", cs = "geeks"
Output : Yes

Input : str = "shreya dhatwalia", cs = "abc"
Output : No
 
Algorithm  
Find length of given string str as well as corner string cs. Let this length be n and cl respectively.
If cl>n, return false as cs can’t be greater than str.
Otherwise, find the prefix and suffix of length cl from str. If both prefix and suffix match with corner string cs, return true otherwise return false.
 
C++
Java
Python3
C#
PHP
Javascript
// CPP program to find if a given corner string// is present at corners.#include <bits/stdc++.h>using namespace std; bool isCornerPresent(string str, string corner){    int n = str.length();    int cl = corner.length();     // If length of corner string is more, it    // cannot be present at corners.    if (n < cl)       return false;     // Return true if corner string is present at    // both corners of given string.    return (str.substr(0, cl).compare(corner) == 0 &&            str.substr(n-cl, cl).compare(corner) == 0);} // Driver codeint main(){   string str = "geeksforgeeks";   string corner = "geeks";   if (isCornerPresent(str, corner))      cout << "Yes";   else      cout << "No";   return 0;}
// Java program to find if a given corner// string is present at corners.import java.io.*;class GFG {         static boolean isCornerPresent(String str,                                   String corner)    {        int n = str.length();        int cl = corner.length();         // If length of corner string        // is more, it cannot be present        // at corners.        if (n < cl)        return false;         // Return true if corner string        // is present at both corners        // of given string.        return (str.substring(0, cl).equals(corner) &&                str.substring(n - cl, n).equals(corner));    }         // Driver Code    public static void main (String[] args)    {        String str = "geeksforgeeks";        String corner = "geeks";        if (isCornerPresent(str, corner))            System.out.println("Yes");        else            System.out.println("No");    }} // This code is contributed by Manish_100
# Python program to find# if a given corner string# is present at corners. def isCornerPresent(str, corner) :     n = len(str)    cl = len(corner)     # If length of corner    # string is more, it    # cannot be present    # at corners.    if (n < cl) :        return False     # Return true if corner    # string is present at    # both corners of given    # string.    return ((str[: cl] == corner) and            (str[n - cl :] == corner)) # Driver Codestr = "geeksforgeeks"corner = "geeks"if (isCornerPresent(str, corner)) :    print ("Yes")else :    print ("No") # This code is contributed by# Manish Shaw(manishshaw1)
// C# program to find if a// given corner string is// present at corners.using System; class GFG{static bool isCornerPresent(string str,                            string corner){    int n = str.Length;    int cl = corner.Length;     // If length of corner    // string is more, it    // cannot be present    // at corners.    if (n < cl)        return false;     // Return true if corner    // string is present at    // both corners of given    // string.    return (str.Substring(0,            cl).Equals(corner) &&            str.Substring(n - cl,            cl).Equals(corner));} // Driver Codestatic void Main (){    string str = "geeksforgeeks";    string corner = "geeks";    if (isCornerPresent(str, corner))        Console.WriteLine("Yes");    else        Console.WriteLine("No");}} // This code is contributed by// Manish Shaw(manishshaw1)
<?php// PHP program to find if a// given corner string is// present at corners. function isCornerPresent($str,                         $corner){    $n = strlen($str);    $cl = strlen($corner);     // If length of corner    // string is more, it    // cannot be present    // at corners.    if ($n < $cl)        return false;     // Return true if corner    // string is present at    // both corners of given    // string.    return (!strcmp(substr($str, 0,                           $cl), $corner) &&            !strcmp(substr($str, $n -                           $cl, $cl), $corner));} // Driver Code$str = "geeksforgeeks";$corner = "geeks";if (isCornerPresent($str, $corner))    echo ("Yes");else    echo ("No"); // This code is contributed by// Manish Shaw(manishshaw1)?>
<script>      // JavaScript program to find if a given corner string      // is present at corners.      function isCornerPresent(str, corner) {        var n = str.length;        var cl = corner.length;         // If length of corner string is more, it        // cannot be present at corners.        if (n < cl) return false;         // Return true if corner string is present at        // both corners of given string.        return (          str.substring(0, cl).localeCompare(corner) === 0 &&          str.substring(n - cl, n).localeCompare(corner) === 0        );      }       // Driver code      var str = "geeksforgeeks";      var corner = "geeks";      if (isCornerPresent(str, corner)) document.write("Yes");      else document.write("No");    </script>
Output :  
Yes
 
YouTubeGeeksforGeeks507K subscribersFind if a string starts and ends with another given string | GeeksforGeeksWatch laterShareCopy linkInfoShoppingTap to unmuteIf playback doesn't begin shortly, try restarting your device.You're signed outVideos you watch may be added to the TV's watch history and influence TV recommendations. To avoid this, cancel and sign in to YouTube on your computer.CancelConfirmMore videosMore videosSwitch cameraShareInclude playlistAn error occurred while retrieving sharing information. Please try again later.Watch on0:000:000:00 / 2:41•Live•<div class="player-unavailable"><h1 class="message">An error occurred.</h1><div class="submessage"><a href="https://www.youtube.com/watch?v=C58uB_j9O0M" target="_blank">Try watching this video on www.youtube.com</a>, or enable JavaScript if it is disabled in your browser.</div></div>
 
Manish_100
manishshaw1
rdtank
School Programming
Strings
Strings
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
C++ Classes and Objects
Interfaces in Java
Constructors in C++
Operator Overloading in C++
Copy Constructor in C++
Write a program to reverse an array or string
Write a program to print all permutations of a given string
C++ Data Types
Longest Common Subsequence | DP-4
Check for Balanced Brackets in an expression (well-formedness) using Stack