Open In App

Can String be considered as a Keyword?

Last Updated : 16 Jan, 2024
Improve
Improve
Like Article
Like
Save
Share
Report

Is string a keyword?

A string is NOT a keyword. It is one of the names of data types declared in the standard library. 

How to check if a string is a keyword in C++?

  • In C++ there is no special method to check whether the given string is a keyword or not. But there are a set of keywords present which is listed below-

“auto”, “break”, “case”, “char”, “const”, “continue”, “default”, “do”, “double”, “else”, “enum”, “extern”, “float”, “for”, “goto”, “if”, “int”, “long”, “register”, “return”, “short”, “signed”, “sizeof”, “static”, “struct”, “switch”, “typedef”, “union”, “unsigned”, “void”, “volatile”, “while”

  • So, we need to check whether our search word is present in the list or not to determine whether it is a keyword or not. As there is no keyword “string” in the above-mentioned list, a string is not a keyword.  

How to check if a string is a keyword in Java?

  • Java provides a method iskeyword() which is used to find whether the given string is a keyword or not. It is present in javax.lang.model.SourceVersion package. It will return a boolean value either True or False.

Syntax:

SourceVersion.isKeyword(“word_to_check”)

Parameters:

This method accepts a string to check whether it is a keyword or not.

Returns: 

Boolean values – True or False.

How to check if a string is a keyword in Python?

  • Python provides a method iskeyword() which is used to find out whether the given string is a keyword or not. It is present in the keyword built-in module. So, before using this method we need to import the keyword module. 
  • The iskeyword() method accepts a word/string as a parameter and returns a Boolean value True or False based on the input argument. It returns true for all the reserved words and for the rest it will give the result as False.

Syntax:

keyword.iskeyword(“word_to_check”)

Below is the code for implementing the methods to check if “string” is a keyword or not.

C++




// C++ program for the above approach
#include <bits/stdc++.h>
using namespace std;
 
set<string> keywords = { "alignas",
                         "alignof",
                         "and",
                         "and",
                         "and_eq",
                         "asm",
                         "atomic_cancel",
                         "atomic_commit",
                         "atomic_noexcept",
                         "auto",
                         "bitand",
                         "bitor",
                         "bool",
                         "break",
                         "case",
                         "catch",
                         "char",
                         "char16_t",
                         "char32_t",
                         "class",
                         "compl",
                         "concept",
                         "const",
                         "constexpr",
                         "const_cast",
                         "continue",
                         "co_await",
                         "co_return",
                         "co_yield",
                         "decltype",
                         "default",
                         "delete",
                         "do",
                         "double",
                         "dynamic_cast",
                         "else",
                         "enum",
                         "explicit",
                         "export",
                         "extern",
                         "false",
                         "float",
                         "for",
                         "friend",
                         "goto",
                         "if",
                         "import",
                         "inline",
                         "int",
                         "long",
                         "module",
                         "mutable",
                         "namespace",
                         "new",
                         "noexcept",
                         "not",
                         "not_eq",
                         "nullptr",
                         "operator",
                         "or",
                         "or_eq",
                         "private",
                         "protected",
                         "public",
                         "register",
                         "reinterpret_cast",
                         "requires",
                         "return",
                         "short",
                         "signed",
                         "sizeof",
                         "static",
                         "static_assert",
                         "static_cast",
                         "struct",
                         "switch",
                         "synchronized",
                         "template",
                         "this",
                         "thread_local",
                         "throw",
                         "true",
                         "try",
                         "typedef",
                         "typeid",
                         "typename",
                         "union",
                         "unsigned",
                         "using",
                         "virtual",
                         "void",
                         "volatile",
                         "wchar_t",
                         "while",
                         "xor",
                         "xor_eq" };
 
// Function to check c++ keyword
bool is_keyword(string s) { return keywords.count(s); }
 
int main()
{
    // Passing String to iskeyword() to check
    // if it is a keyword or not
    cout << is_keyword("string");
 
    return 0;
}
 
    // This code is contributed by rakeshsahni


Java




// Import necessary packages
 
import java.io.*;
import javax.lang.model.SourceVersion;
 
class GFG {
    public static void main(String[] args)
    {
        // Checking whether string is a keyword or not
        System.out.println(
            SourceVersion.isKeyword("string"));
    }
}


Python3




# Import necessary packages
 
import keyword
 
if __name__ == '__main__':
    # Passing String to iskeyword() to check
    # if it is a keyword or not
    print(keyword.iskeyword('String'))


C#




using System;
using System.Collections.Generic;
 
class Program
{
    // HashSet to store C++ keywords
    static HashSet<string> keywords = new HashSet<string>
    {
        "alignas", "alignof", "and", "and_eq", "asm", "atomic_cancel", "atomic_commit", "atomic_noexcept", "auto",
        "bitand", "bitor", "bool", "break", "case", "catch", "char", "char16_t", "char32_t", "class", "compl",
        "concept", "const", "constexpr", "const_cast", "continue", "co_await", "co_return", "co_yield", "decltype",
        "default", "delete", "do", "double", "dynamic_cast", "else", "enum", "explicit", "export", "extern", "false",
        "float", "for", "friend", "goto", "if", "import", "inline", "int", "long", "module", "mutable", "namespace",
        "new", "noexcept", "not", "not_eq", "nullptr", "operator", "or", "or_eq", "private", "protected", "public",
        "register", "reinterpret_cast", "requires", "return", "short", "signed", "sizeof", "static", "static_assert",
        "static_cast", "struct", "switch", "synchronized", "template", "this", "thread_local", "throw", "true", "try",
        "typedef", "typeid", "typename", "union", "unsigned", "using", "virtual", "void", "volatile", "wchar_t", "while",
        "xor", "xor_eq"
    };
 
    // Function to check if a word is a C++ keyword
    static bool IsKeyword(string s) => keywords.Contains(s);
 
    static void Main()
    {
        // Passing a string to IsKeyword() to check if it is a keyword or not
        Console.WriteLine(IsKeyword("string"));
 
        // Note: In C#, Console.WriteLine automatically adds a new line after the printed text.
    }
}


Javascript




// A function to check if a given word is a JavaScript keyword or not
const isKeyword = (word) => {
 
    // An array containing all the JavaScript keywords
 
    const keywords = [
 
        "abstract", "await", "boolean", "break", "byte",
 
        "case", "catch", "char", "class", "const", "continue",
 
        "debugger", "default", "delete", "do", "double",
 
        "else", "enum", "export", "extends", "false", "final",
 
        "finally", "float", "for", "function", "goto", "if",
 
        "implements", "import", "in", "instanceof", "int",
 
        "interface", "let", "long", "native", "new", "null",
 
        "package", "private", "protected", "public", "return",
 
        "short", "static", "super", "switch", "synchronized",
 
        "this", "throw", "throws", "transient", "true", "try",
 
        "typeof", "var", "void", "volatile", "while", "with",
 
        "yield"
 
    ];
 
    // Check if the word is in the keywords array
 
    return keywords.includes(word);
 
};
 
// Calling the function with a test word and storing the result
 
let ans = isKeyword('String');
 
// Printing the result
 
console.log(ans);
 
// Contributed by adityae15


Output

false



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads