{"id":24447,"date":"2022-12-03T01:56:12","date_gmt":"2022-12-02T20:26:12","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/"},"modified":"2022-12-03T01:56:12","modified_gmt":"2022-12-02T20:26:12","slug":"solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/","title":{"rendered":"[Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-27803512\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"27803512\" data-parentid=\"27803231\" data-score=\"2\" 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>You can do something like this:<\/p>\n<pre><code>Pattern pat = Pattern.compile(\"((?:[^\\u0003]*\\u0003){30}[^\\u0003]*)\\u0003(.*)\");\nMatcher matcher = pat.matcher(input);\nif (matcher.matches()) {\n    String leftPart = matcher.group(1);\n    String rightPart = matcher.group(2);\n}\n<\/code><\/pre>\n<p>The pattern works as follows: The first capture group finds a substring with exactly 30 occurrences of the separator <code>\\u0003<\/code>; the subpattern that finds a substring with no separators, followed by one separator, is repeated 30 times, and this is then followed by another substring with no separators.  This must be followed by a separator (the 31st separator), and the second capture group contains everything that&#8217;s left in the string.  (Note that a parenthesized subpattern that starts with <code>(?:<\/code> is a non-capture group and does not count in the numbering used by the <code>group()<\/code> method.)<\/p>\n<p>An alternative is to use the <code>split()<\/code> method.  However, this will require you to reconstruct the left part yourself, by concatenating the first 31 elements of the resulting array (checking first to see if there are actually that many elements), and inserting the separators.  Unfortunately, since you&#8217;re on Android, you can&#8217;t use the <code>String.join()<\/code> method to help with this, since this was added in Java 8 and Android is still stuck somewhere between Java 6 and Java 7.<\/p>\n<p><b>Note:<\/b> I&#8217;ve tested this and it works as expected.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved How to split a string at the n&#8217;th occurrence of a specific separator in Java [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] You can do something like this: Pattern pat = Pattern.compile(&#8220;((?:[^\\u0003]*\\u0003){30}[^\\u0003]*)\\u0003(.*)&#8221;); Matcher matcher = pat.matcher(input); if (matcher.matches()) { String leftPart = matcher.group(1); String rightPart = matcher.group(2); } The pattern works as follows: The first capture group finds a substring with exactly 30 occurrences of the separator \\u0003; the subpattern that finds a substring with no &#8230; <a title=\"[Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\" aria-label=\"More on [Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [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":[452,5182,323,380,362],"class_list":["post-24447","post","type-post","status-publish","format-standard","hentry","category-solved","tag-android","tag-divider","tag-java","tag-parsing","tag-string"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] How to split a string at the n&#039;th occurrence of a specific separator in Java [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-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] How to split a string at the n&#039;th occurrence of a specific separator in Java [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] You can do something like this: Pattern pat = Pattern.compile(&quot;((?:[^u0003]*u0003){30}[^u0003]*)u0003(.*)&quot;); Matcher matcher = pat.matcher(input); if (matcher.matches()) { String leftPart = matcher.group(1); String rightPart = matcher.group(2); } The pattern works as follows: The first capture group finds a substring with exactly 30 occurrences of the separator u0003; the subpattern that finds a substring with no ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-02T20:26:12+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=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [closed]\",\"datePublished\":\"2022-12-02T20:26:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\"},\"wordCount\":219,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"android\",\"divider\",\"java\",\"parsing\",\"string\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\",\"name\":\"[Solved] How to split a string at the n'th occurrence of a specific separator in Java [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-12-02T20:26:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [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=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] How to split a string at the n'th occurrence of a specific separator in Java [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-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] How to split a string at the n'th occurrence of a specific separator in Java [closed] - JassWeb","og_description":"[ad_1] You can do something like this: Pattern pat = Pattern.compile(\"((?:[^u0003]*u0003){30}[^u0003]*)u0003(.*)\"); Matcher matcher = pat.matcher(input); if (matcher.matches()) { String leftPart = matcher.group(1); String rightPart = matcher.group(2); } The pattern works as follows: The first capture group finds a substring with exactly 30 occurrences of the separator u0003; the subpattern that finds a substring with no ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/","og_site_name":"JassWeb","article_published_time":"2022-12-02T20:26:12+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [closed]","datePublished":"2022-12-02T20:26:12+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/"},"wordCount":219,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["android","divider","java","parsing","string"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/","name":"[Solved] How to split a string at the n'th occurrence of a specific separator in Java [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-02T20:26:12+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-how-to-split-a-string-at-the-nth-occurrence-of-a-specific-separator-in-java-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] How to split a string at the n&#8217;th occurrence of a specific separator in Java [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=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","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\/24447","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=24447"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/24447\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=24447"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=24447"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=24447"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}