{"id":23214,"date":"2022-11-24T15:56:32","date_gmt":"2022-11-24T10:26:32","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/"},"modified":"2022-11-24T15:56:32","modified_gmt":"2022-11-24T10:26:32","slug":"solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/","title":{"rendered":"[Solved] Generating logic for possible output of all the combinations of string in a list [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-54765188\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"54765188\" data-parentid=\"54761335\" data-score=\"0\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>If all you have to do is to out put true or false depending on the user input, you can convert your code strings to regular expressions and check if input matches the list of regex. <\/p>\n<p>Steps:<\/p>\n<ul>\n<li>\n<p>Convert each element in your codes list to a regex<\/p>\n<p>\/\/ convert &#8220;ABC(Q,E,1)EEE&#8221; to &#8220;ABC[QE1]EEE&#8221; to match each string starting with ABC followed by one of [QE1] and ending with EEE <\/p>\n<p>\/\/&#8221;R(1,2,3,4,5)RT(U,M,N,B,V,H)(Q,E,R,F,G,H)(R,Z)&#8221; to &#8220;R[12345]RT[UMNBVH][QERFGH][RZ]&#8221;<\/p>\n<p>etc<\/p>\n<\/li>\n<li>\n<p>Check if input matches one of the regexes<\/p>\n<\/li>\n<\/ul>\n<p>Example:<\/p>\n<pre><code>public static void main(String[] args) {\n\n    Scanner scan = new Scanner(System.in);\n    System.out.println(\"Enter the code you want to check: \");\n    String input = scan.next();\n\n    List&lt;String&gt; codes = new ArrayList&lt;&gt;();\n    codes.add(\"ABC(Q,E,1)EEE\");\n    codes.add(\"ABDCE(E,Z,X)E\");\n    codes.add(\"B(A,1)AAEEE\");\n    codes.add(\"R(1,2,3,4,5)RT(U,M,N,B,V,H)(Q,E,R,F,G,H)(R,Z)\");\n    codes.add(\"B(A,1)AA(E,Z)EE\");\n\n    \/\/list to store the modified strings\n    List&lt;String&gt; modifiedCodes = new ArrayList&lt;&gt;();\n    \/\/for each string in list find if there is a pattern like '('some chars')'\n    Pattern p = Pattern.compile(\"\\\\(.*\\\\)\");\n    for (Iterator&lt;String&gt; i = codes.iterator(); i.hasNext();) {\n        String code = i.next();\n        StringBuffer  sb = new StringBuffer ();\n        Matcher m = p.matcher(code);\n         while (m.find()) { \n            String match = m.group();\n            \/\/if found a match replace '(' and ')' with '[' and ']' and remove commas\n            m.appendReplacement(sb, match.replace('(', '[').replace(')', ']').replace(\",\", \"\"));\n          }\n          m.appendTail(sb);\n          \/\/add modified string to list\n          modifiedCodes.add(sb.toString());\n    }     \n\n    boolean codeIsPresent = false;\n    for(String code: modifiedCodes){\n        \/\/check if input matches one of the regex in the list 'modifiedCodes'\n        if (input.matches(code)) {\n            codeIsPresent = true;\n            System.out.println(\"True: This code is present\");\n            break;\n        }\n    }\n    if(!codeIsPresent){\n        System.out.println(\"Code not found\");\n    }\n}\n<\/code><\/pre>\n<p><strong>EDIT<\/strong><\/p>\n<blockquote>\n<p>how can we print the list of all the combinations of the string from<br \/>\n  which it is getting the output? say, I just have a string<br \/>\n  &#8220;BA(1,2,3)QW(A-Z,0-9)&#8221; and I want all the possible combinations of it<\/p>\n<\/blockquote>\n<p>The above question from your coments is slightly difference as the original post, it might be better if you post a new question. You can create your own algorithm with somekind of tree structure to solve the issue but it can be very hackish and messy. I would suggest to use a 3rd party libraray like <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/github.com\/mifmif\/Generex\">generex<\/a> if possible. You can download the jar <a rel=\"nofollow noopener\" target=\"_blank\" href=\"https:\/\/mvnrepository.com\/artifact\/com.github.mifmif\/generex\/1.0.1\">from the maven repo here<\/a>. With generex you can have all your possible commbinations:<\/p>\n<pre><code>public static void main(String args[]){\n    \/\/change your input to a regular expression\n    \/\/\"BA(1,2,3)QW(A-Z,0-9)\"  to  \"BA[1-3]QW[A-Z][0-9]\"\n    Generex generex = new Generex(\"BA[1-3]QW[A-Z][0-9]\");\n    List&lt;String&gt; matchedStrs = generex.getAllMatchedStrings();\n    matchedStrs.forEach(System.out::println);\n} \n<\/code><\/pre>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">7<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved Generating logic for possible output of all the combinations of string in a list [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] If all you have to do is to out put true or false depending on the user input, you can convert your code strings to regular expressions and check if input matches the list of regex. Steps: Convert each element in your codes list to a regex \/\/ convert &#8220;ABC(Q,E,1)EEE&#8221; to &#8220;ABC[QE1]EEE&#8221; to match &#8230; <a title=\"[Solved] Generating logic for possible output of all the combinations of string in a list [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\" aria-label=\"More on [Solved] Generating logic for possible output of all the combinations of string in a list [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[323],"class_list":["post-23214","post","type-post","status-publish","format-standard","hentry","category-solved","tag-java"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] Generating logic for possible output of all the combinations of string in a list [closed] - JassWeb<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] Generating logic for possible output of all the combinations of string in a list [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] If all you have to do is to out put true or false depending on the user input, you can convert your code strings to regular expressions and check if input matches the list of regex. Steps: Convert each element in your codes list to a regex \/\/ convert &#8220;ABC(Q,E,1)EEE&#8221; to &#8220;ABC[QE1]EEE&#8221; to match ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-24T10:26:32+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] Generating logic for possible output of all the combinations of string in a list [closed]\",\"datePublished\":\"2022-11-24T10:26:32+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\"},\"wordCount\":256,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"java\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\",\"name\":\"[Solved] Generating logic for possible output of all the combinations of string in a list [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-11-24T10:26:32+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] Generating logic for possible output of all the combinations of string in a list [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] Generating logic for possible output of all the combinations of string in a list [closed] - JassWeb","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] Generating logic for possible output of all the combinations of string in a list [closed] - JassWeb","og_description":"[ad_1] If all you have to do is to out put true or false depending on the user input, you can convert your code strings to regular expressions and check if input matches the list of regex. Steps: Convert each element in your codes list to a regex \/\/ convert &#8220;ABC(Q,E,1)EEE&#8221; to &#8220;ABC[QE1]EEE&#8221; to match ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/","og_site_name":"JassWeb","article_published_time":"2022-11-24T10:26:32+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] Generating logic for possible output of all the combinations of string in a list [closed]","datePublished":"2022-11-24T10:26:32+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/"},"wordCount":256,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["java"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/","name":"[Solved] Generating logic for possible output of all the combinations of string in a list [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-11-24T10:26:32+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-generating-logic-for-possible-output-of-all-the-combinations-of-string-in-a-list-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] Generating logic for possible output of all the combinations of string in a list [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775798750","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/23214","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=23214"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/23214\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=23214"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=23214"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=23214"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}