{"id":31106,"date":"2023-10-21T11:08:21","date_gmt":"2023-10-21T10:08:21","guid":{"rendered":"https:\/\/www.baeldung.com\/?p=167424"},"modified":"2023-10-21T11:08:21","modified_gmt":"2023-10-21T10:08:21","slug":"wrapping-a-string-after-a-number-of-characters-word-wise","status":"publish","type":"post","link":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/2023\/10\/21\/wrapping-a-string-after-a-number-of-characters-word-wise\/","title":{"rendered":"Wrapping a String After a Number of Characters Word-Wise"},"content":{"rendered":"<p><img src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured-1024x536.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" decoding=\"async\" style=\"float: left; margin-right: 5px;\" loading=\"lazy\" srcset=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured-1024x536.png 1024w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured-300x157.png 300w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured-768x402.png 768w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured-100x52.png 100w, https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured.png 1200w\" sizes=\"(max-width: 580px) 100vw, 580px\" \/><\/p>\n<h2 id=\"bd-overview\" data-id=\"overview\">1. Overview<\/h2>\n<div class=\"bd-anchor\" id=\"overview\"><\/div>\n<p>In this tutorial, we&#8217;ll see how to wrap a sentence automatically after a given number of characters. Hence, our program will return a transformed <em>String<\/em> with new line breaks.<\/p>\n<h2 id=\"bd-general-algorithm\" data-id=\"general-algorithm\">2. General Algorithm<\/h2>\n<div class=\"bd-anchor\" id=\"general-algorithm\"><\/div>\n<p>Let&#8217;s consider the following sentence: <em>Baeldung is a popular website that provides in-depth tutorials and articles on various programming and software development topics, primarily focused on Java and related technologies<\/em>.<\/p>\n<p><strong>We want to insert<\/strong><strong> line returns every <em>n<\/em> characters maximum<\/strong>, <em>n<\/em> representing the number of characters. Let&#8217;s see the code to do this:<\/p>\n<pre><code class=\"language-java\">String wrapStringCharacterWise(String input, int n) {      \r\n    StringBuilder stringBuilder = new StringBuilder(input);\r\n    int index = 0;\r\n    while(stringBuilder.length() &gt; index + n) {\r\n        index = stringBuilder.lastIndexOf(&quot; &quot;, index + n);    \r\n        stringBuilder.replace(index, index + 1, &quot;\\n&quot;);\r\n        index++; \r\n    }\r\n    return stringBuilder.toString();\r\n}<\/code><\/pre>\n<p>Let&#8217;s take <em>n=20<\/em> and understand our example code:<\/p>\n<ul>\n<li>we start with finding the latest whitespace before <em>20<\/em> characters: in this case, between the words <em>a<\/em> and <em>popular<\/em><\/li>\n<li>then we replace this whitespace with a line return<\/li>\n<li>and we start again from the beginning of the next word, <em>popular<\/em> in our example<\/li>\n<\/ul>\n<p>We stop the algorithm when the remaining sentence has less than <em>20<\/em> characters. We naturally implement this algorithm via a <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-for-loop\"><em>for<\/em> loop<\/a>. Besides, we used a <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-string-builder-string-buffer\"><em>StringBuilder<\/em><\/a> internally for convenience, and parameterized our inputs:<\/p>\n<p>We can write a <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-unit-testing-best-practices\">unit test<\/a> to confirm that our method returns the expected result for our example:<\/p>\n<pre><code class=\"language-java\">@Test\r\nvoid givenStringWithMoreThanNCharacters_whenWrapStringCharacterWise_thenCorrectlyWrapped() {\r\n    String input = &quot;Baeldung is a popular website that provides in-depth tutorials and articles on various programming and software development topics, primarily focused on Java and related technologies.&quot;;\r\n    assertEquals(&quot;Baeldung is a\\npopular website that\\nprovides in-depth\\ntutorials and\\narticles on various\\nprogramming and\\nsoftware development\\ntopics, primarily\\nfocused on Java and\\nrelated\\ntechnologies.&quot;, wrapper.wrapStringCharacterWise(input, 20));\r\n}<\/code><\/pre>\n<h2 id=\"bd-edge-cases\" data-id=\"edge-cases\">3. Edge Cases<\/h2>\n<div class=\"bd-anchor\" id=\"edge-cases\"><\/div>\n<p>For now, we&#8217;ve written a very naive code. In a real-life use case, we might need to take into account some edge cases. Within this article, we&#8217;ll address two of them.<\/p>\n<h3 id=\"bd-1-words-longer-than-the-character-limit\" data-id=\"1-words-longer-than-the-character-limit\">3.1. Words Longer Than the Character Limit<\/h3>\n<div class=\"bd-anchor\" id=\"1-words-longer-than-the-character-limit\"><\/div>\n<p>First, what if a word is too large and is impossible to wrap? For simplicity, <strong>let&#8217;s throw an <em><a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-exceptions#2-unchecked-exceptions\">IllegalArgumentException<\/a><\/em> in this case.<\/strong> At every iteration of our loop, we need to check that there&#8217;s indeed a whitespace before the given length:<\/p>\n<pre><code class=\"language-java\">String wrapStringCharacterWise(String input, int n) {      \r\n    StringBuilder stringBuilder = new StringBuilder(input);\r\n    int index = 0;\r\n    while(stringBuilder.length() &gt; index + n) {\r\n        index = stringBuilder.lastIndexOf(&quot; &quot;, index + n);\r\n        if (index == -1) {\r\n            throw new IllegalArgumentException(&quot;impossible to slice &quot; + stringBuilder.substring(0, n));\r\n        }       \r\n        stringBuilder.replace(index, index + 1, &quot;\\n&quot;);\r\n        index++; \r\n    }\r\n    return stringBuilder.toString();\r\n}<\/code><\/pre>\n<p>This time again, we can write a simple <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/junit-5\">JUnit<\/a> test for validation:<\/p>\n<pre><code class=\"language-java\">@Test\r\nvoid givenStringWithATooLongWord_whenWrapStringCharacterWise_thenThrows() {\r\n    String input = &quot;The word straightforward has more than 10 characters&quot;;\r\n    assertThrows(IllegalArgumentException.class, () -&gt; wrapper.wrapStringCharacterWise(input, 10));\r\n}<\/code><\/pre>\n<h3 id=\"bd-2-original-input-with-line-returns\" data-id=\"2-original-input-with-line-returns\">3.2. Original Input With Line Returns<\/h3>\n<div class=\"bd-anchor\" id=\"2-original-input-with-line-returns\"><\/div>\n<p>Another edge case is when the input <em>String<\/em> already has line return characters inside. For the moment, if we add a line return after the word <em>Baeldung<\/em> in our sentence, it will be wrapped identically. <strong>However, it sounds more intuitive to start wrapping after the existing line returns.<\/strong><\/p>\n<p>For this reason, we&#8217;ll search for the last line return at every iteration of our algorithm; if it exists, we move the cursor and skip the wrapping part:<\/p>\n<pre><code class=\"language-java\">String wrapStringCharacterWise(String input, int n) {      \r\n    StringBuilder stringBuilder = new StringBuilder(input);\r\n    int index = 0;\r\n    while(stringBuilder.length() &gt; index + n) {\r\n        int lastLineReturn = stringBuilder.lastIndexOf(&quot;\\n&quot;, index + n);\r\n        if (lastLineReturn &gt; index) {\r\n            index = lastLineReturn;\r\n        } else {\r\n            index = stringBuilder.lastIndexOf(&quot; &quot;, index + n);\r\n            if (index == -1) {\r\n                throw new IllegalArgumentException(&quot;impossible to slice &quot; + stringBuilder.substring(0, n));\r\n            }       \r\n            stringBuilder.replace(index, index + 1, &quot;\\n&quot;);\r\n            index++;\r\n        }    \r\n    }\r\n    return stringBuilder.toString();\r\n}<\/code><\/pre>\n<p>Again, we can test our code on our example:<\/p>\n<pre><code class=\"language-java\">@Test\r\nvoid givenStringWithLineReturns_whenWrapStringCharacterWise_thenWrappedAccordingly() {\r\n    String input = &quot;Baeldung\\nis a popular website that provides in-depth tutorials and articles on various programming and software development topics, primarily focused on Java and related technologies.&quot;;\r\n    assertEquals(&quot;Baeldung\\nis a popular\\nwebsite that\\nprovides in-depth\\ntutorials and\\narticles on various\\nprogramming and\\nsoftware development\\ntopics, primarily\\nfocused on Java and\\nrelated\\ntechnologies.&quot;, wrapper.wrapStringCharacterWise(input, 20));\r\n}<\/code><\/pre>\n<h2 id=\"bd-apache-wordutils-wrap-method\" data-id=\"apache-wordutils-wrap-method\">4. Apache WordUtils <em>wrap()<\/em> Method<\/h2>\n<div class=\"bd-anchor\" id=\"apache-wordutils-wrap-method\"><\/div>\n<p><strong>We can use Apache WordUtils <em>wrap()<\/em> method to implement the required behavior.<\/strong>\u00a0First, let&#8217;s add the latest Apache <em><a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/mvnrepository.com\/artifact\/org.apache.commons\/commons-text\">commons-text<\/a><\/em> dependency:<\/p>\n<pre><code class=\"language-xml\">&lt;dependency&gt;\r\n    &lt;groupId&gt;org.apache.commons&lt;\/groupId&gt;\r\n    &lt;artifactId&gt;commons-text&lt;\/artifactId&gt;\r\n    &lt;version&gt;1.10.0&lt;\/version&gt;\r\n&lt;\/dependency&gt;<\/code><\/pre>\n<p>The main difference with our code is that <em>wrap()<\/em> uses the platform-independent <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/java-string-newline#2-using-platform-independent-line-separators\"><em>System<\/em>&#8216;s line separator<\/a> by default:<\/p>\n<pre><code class=\"language-java\">@Test\r\nvoid givenStringWithMoreThanNCharacters_whenWrap_thenCorrectlyWrapped() {\r\n    String input = &quot;Baeldung is a popular website that provides in-depth tutorials and articles on various programming and software development topics, primarily focused on Java and related technologies.&quot;;\r\n    assertEquals(&quot;Baeldung is a&quot; + System.lineSeparator() + &quot;popular website that&quot; + System.lineSeparator() + &quot;provides in-depth&quot; + System.lineSeparator() + &quot;tutorials and&quot; + System.lineSeparator() + &quot;articles on various&quot; + System.lineSeparator() + &quot;programming and&quot; + System.lineSeparator() + &quot;software development&quot; + System.lineSeparator() + &quot;topics, primarily&quot; + System.lineSeparator() + &quot;focused on Java and&quot; + System.lineSeparator() + &quot;related&quot; + System.lineSeparator() + &quot;technologies.&quot;, WordUtils.wrap(input, 20));\r\n}<\/code><\/pre>\n<p>By default, <em>wrap()<\/em> accepts long words but doesn&#8217;t wrap them:<\/p>\n<pre><code class=\"language-java\">@Test\r\nvoid givenStringWithATooLongWord_whenWrap_thenLongWordIsNotWrapped() {\r\n    String input = &quot;The word straightforward has more than 10 characters&quot;;\r\n    assertEquals(&quot;The word&quot; + System.lineSeparator() + &quot;straightforward&quot; + System.lineSeparator() + &quot;has more&quot; + System.lineSeparator() + &quot;than 10&quot; + System.lineSeparator() + &quot;characters&quot;, WordUtils.wrap(input, 10));\r\n}<\/code><\/pre>\n<p>Last but not least, our other edge case is ignored by this library:<\/p>\n<pre><code class=\"language-java\">@Test\r\nvoid givenStringWithLineReturns_whenWrap_thenWrappedLikeThereWasNone() {\r\n    String input = &quot;Baeldung&quot; + System.lineSeparator() + &quot;is a popular website that provides in-depth tutorials and articles on various programming and software development topics, primarily focused on Java and related technologies.&quot;;\r\n    assertEquals(&quot;Baeldung&quot; + System.lineSeparator() + &quot;is a&quot; + System.lineSeparator() + &quot;popular website that&quot; + System.lineSeparator() + &quot;provides in-depth&quot; + System.lineSeparator() + &quot;tutorials and&quot; + System.lineSeparator() + &quot;articles on various&quot; + System.lineSeparator() + &quot;programming and&quot; + System.lineSeparator() + &quot;software development&quot; + System.lineSeparator() + &quot;topics, primarily&quot; + System.lineSeparator() + &quot;focused on Java and&quot; + System.lineSeparator() + &quot;related&quot; + System.lineSeparator() + &quot;technologies.&quot;, WordUtils.wrap(input, 20));\r\n}<\/code><\/pre>\n<p>To conclude, we can have a look at the overloaded signature of the method:<\/p>\n<pre><code class=\"language-java\">static String wrap(final String str, int wrapLength, String newLineStr, final boolean wrapLongWords, String wrapOn)<\/code><\/pre>\n<p>We notice the additional parameters:<\/p>\n<ul>\n<li><em>newLineStr<\/em>: to use a different character for new line insertion<\/li>\n<li><em>wrapLongWords<\/em>: a <em>boolean<\/em> to decide whether to wrap long words or not<\/li>\n<li><em>wrapOn<\/em>: any <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/www.baeldung.com\/regular-expressions-java\">regular expression<\/a> can be used instead of whitespaces<\/li>\n<\/ul>\n<h2 id=\"bd-conclusion\" data-id=\"conclusion\">5. Conclusion<\/h2>\n<div class=\"bd-anchor\" id=\"conclusion\"><\/div>\n<p>In this article, we saw an algorithm to wrap a <em>String<\/em> after a given number of characters. We implemented it and added the support for a couple of edge cases.<\/p>\n<p>Lastly, we realized that Apache <em>WordUtils&#8217; wrap()<\/em> method is highly configurable and should suffice in most cases. However, if we can&#8217;t use the external dependency or need specific behaviours, we can use our own implementation.<\/p>\n<p>As always, the code is available <a href=\"https:\/\/feeds.feedblitz.com\/~\/t\/0\/0\/baeldung\/~https:\/\/github.com\/eugenp\/tutorials\/tree\/master\/core-java-modules\/core-java-string-algorithms-3\">over on GitHub<\/a>.<\/p>\n<p><Img align=\"left\" border=\"0\" height=\"1\" width=\"1\" alt=\"\" style=\"border:0;float:left;margin:0;padding:0;width:1px!important;height:1px!important;\" hspace=\"0\" src=\"https:\/\/feeds.feedblitz.com\/~\/i\/802726589\/0\/baeldung\"><\/p>\n<div style=\"clear:both;padding-top:0.2em;\"><a title=\"Like on Facebook\" href=\"https:\/\/feeds.feedblitz.com\/_\/28\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/fblike20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Pin it!\" href=\"https:\/\/feeds.feedblitz.com\/_\/29\/802726589\/baeldung,https%3A%2F%2Fwww.baeldung.com%2Fwp-content%2Fuploads%2F2021%2F09%2FJava-4-Featured-1024x536.png\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/pinterest20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Tweet This\" href=\"https:\/\/feeds.feedblitz.com\/_\/24\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/twitter20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Subscribe by email\" href=\"https:\/\/feeds.feedblitz.com\/_\/19\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/email20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a title=\"Subscribe by RSS\" href=\"https:\/\/feeds.feedblitz.com\/_\/20\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/rss20.png\" style=\"border:0;margin:0;padding:0;\"><\/a>&#160;<a rel=\"NOFOLLOW\" title=\"View Comments\" href=\"https:\/\/www.baeldung.com\/java-wrap-string-number-characters-word-wise#respond\"><img decoding=\"async\" height=\"20\" style=\"border:0;margin:0;padding:0;\" src=\"https:\/\/assets.feedblitz.com\/i\/comments20.png\"><\/a>&#160;<a title=\"Follow Comments via RSS\" href=\"https:\/\/www.baeldung.com\/java-wrap-string-number-characters-word-wise\/feed\"><img decoding=\"async\" height=\"20\" style=\"border:0;margin:0;padding:0;\" src=\"https:\/\/assets.feedblitz.com\/i\/commentsrss20.png\"><\/a>&#160;<\/div>\n\n<h2><b>Commercials Cooperation Advertisements:<\/b><\/h2>\r\n<p><br>(1) IT Teacher IT Freelance<br> <\/p>\r\n<a href=https:\/\/itteacheritfreelance.hk\/wordpress><img src=http:\/\/gamefootballmobileanimeiphone.com\/wp-content\/uploads\/2023\/09\/ITTeacherITFreelance-Website.png alt=IT\u96fb\u8166\u88dc\u7fd2 java\u88dc\u7fd2 \u70ba\u5927\u5bb6\u914d\u5c0d\u96fb\u8166\u88dc\u7fd2,IT freelance, \u79c1\u4eba\u8001\u5e2b, PHP\u88dc\u7fd2,CSS\u88dc\u7fd2,XML,Java\u88dc\u7fd2,MySQL\u88dc\u7fd2,graphic design\u88dc\u7fd2,\u4e2d\u5c0f\u5b78ICT\u88dc\u7fd2,\u4e00\u5c0d\u4e00\u79c1\u4eba\u88dc\u7fd2\u548cFreelance\u81ea\u7531\u5de5\u4f5c\u914d\u5c0d\u3002\/><\/a><p><a href=https:\/\/itteacheritfreelance.hk\/wordpress\/index.php\/findteacher>\u7acb\u523b\u8a3b\u518a\u53ca\u5831\u540d\u96fb\u8166\u88dc\u7fd2\u8ab2\u7a0b\u5427! <\/a><br>\r\n\r\n\u7535\u5b50\u8ba1\u7b97\u673a -\u6559\u80b2 -IT \u96fb\u8166\u73ed\u201d ( IT\u96fb\u8166\u88dc\u7fd2 ) \u63d0\u4f9b\u4e00\u500b\u65b9\u4fbf\u7684\u7535\u5b50\u8ba1\u7b97\u673a \u6559\u80b2\u5e73\u53f0, \u70ba\u5927\u5bb6\u914d\u5c0d\u4fe1\u606f\u6280\u672f, \u96fb\u8166 \u8001\u5e2b, IT freelance \u548c programming expert. \u8b93\u5927\u5bb6\u65b9\u4fbf\u5730\u5c31\u80fd\u627e\u5230\u5408\u9069\u7684\u96fb\u8166\u88dc\u7fd2, \u96fb\u8166\u73ed, \u5bb6\u6559, \u79c1\u4eba\u8001\u5e2b.  <br>\r\n\r\nWe are a education and information platform which you can find a IT private tutorial teacher or freelance. <br>\r\n\r\nAlso we provide different information about information technology, Computer, programming, mobile, Android, apple, game, movie, anime, animation\u2026 \r\n<\/p>\n<p><br>(2) ITSec<br> <\/p><a href=https:\/\/itsec.vip><img src=http:\/\/gamefootballmobileanimeiphone.com\/wp-content\/uploads\/2023\/09\/ITSec-Main-Promotion-Image.png alt= https:\/\/itsec.vip\/\r\nSecure Your Computers from Cyber Threats and mitigate risks with professional services to defend Hackers.  \r\nITSec provide IT Security and Compliance Services, including IT Compliance Services, Risk Assessment, IT Audit, Security Assessment and Audit, ISO 27001 Consulting and Certification, GDPR Compliance Services, Privacy Impact Assessment (PIA), Penetration test, Ethical Hacking, Vulnerabilities scan, IT Consulting, Data Privacy Consulting, Data Protection Services, Information Security Consulting, Cyber Security Consulting, Network Security Audit, Security Awareness Training.\/><\/a> \r\n<br><br> \r\n<p><a href=https:\/\/itsec.vip>www.ITSec.vip<\/a> <br> <br> \r\n<p><a href=https:\/\/sraa.com.hk>www.Sraa.com.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/itsec.hk>www.ITSec.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/penetrationtest.hk>www.Penetrationtest.hk<\/a> <br> <br> \r\n<p><a href=https:\/\/itseceu.uk>www.ITSeceu.uk<\/a> <br> <br> \r\nSecure Your Computers from Cyber Threats and mitigate risks with professional services to defend Hackers. <br><br>\r\nITSec provide IT Security and Compliance Services, including IT Compliance Services, Risk Assessment, IT Audit, Security Assessment and Audit, ISO 27001 Consulting and Certification, GDPR Compliance Services, Privacy Impact Assessment (PIA), Penetration test, Ethical Hacking, Vulnerabilities scan, IT Consulting, Data Privacy Consulting, Data Protection Services, Information Security Consulting, Cyber Security Consulting, Network Security Audit, Security Awareness Training. \r\n<br><br>Contact us right away. <br><br>Email (Prefer using email to contact us): <br>SalesExecutive@ITSec.vip<\/p>","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.baeldung.com\/wp-content\/uploads\/2021\/09\/Java-4-Featured-1024x536.png\" class=\"webfeedsFeaturedVisual wp-post-image\" alt=\"\" loading=\"lazy\"><\/p>\n<p>Learn to wrap a sentence automatically after a given number of characters.<\/p>\n<div><a title=\"Like on Facebook\" href=\"https:\/\/feeds.feedblitz.com\/_\/28\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/fblike20.png\"><\/a>\u00a0<a title=\"Pin it!\" href=\"https:\/\/feeds.feedblitz.com\/_\/29\/802726589\/baeldung,https%3A%2F%2Fwww.baeldung.com%2Fwp-content%2Fuploads%2F2021%2F09%2FJava-4-Featured-1024x536.png\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/pinterest20.png\"><\/a>\u00a0<a title=\"Tweet This\" href=\"https:\/\/feeds.feedblitz.com\/_\/24\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/twitter20.png\"><\/a>\u00a0<a title=\"Subscribe by email\" href=\"https:\/\/feeds.feedblitz.com\/_\/19\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/email20.png\"><\/a>\u00a0<a title=\"Subscribe by RSS\" href=\"https:\/\/feeds.feedblitz.com\/_\/20\/802726589\/baeldung\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/rss20.png\"><\/a>\u00a0<a rel=\"NOFOLLOW\" title=\"View Comments\" href=\"https:\/\/www.baeldung.com\/java-wrap-string-number-characters-word-wise#respond\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/comments20.png\"><\/a>\u00a0<a title=\"Follow Comments via RSS\" href=\"https:\/\/www.baeldung.com\/java-wrap-string-number-characters-word-wise\/feed\"><img decoding=\"async\" height=\"20\" src=\"https:\/\/assets.feedblitz.com\/i\/commentsrss20.png\"><\/a>\u00a0<\/div>\n","protected":false},"author":1190,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"site-container-style":"default","site-container-layout":"default","site-sidebar-layout":"default","disable-article-header":"default","disable-site-header":"default","disable-site-footer":"default","disable-content-area-spacing":"default","footnotes":""},"categories":[22],"tags":[61,122,127,129,124,128,125,132,131,133,126,130,123,66,94,88,97,56,64,65,60,112,40,75,95,104,33,120,105,101,98,115,30,29,41,86,70,69,68,72,71,26,118,108,87,46,55,48,52,54,51,50,83,62,58,57,109,35,59,63,85,79,82,96,80,27,81,114,44,42,43,45,38,39,110,117,100,111,116,73,89,90,92,91,93,84,78,37,102,34,36,77,67,74,99,113,119,28,121,32,47,49,53,103,31,76],"class_list":["post-31106","post","type-post","status-publish","format-standard","hentry","category-mobile","tag-airpods","tag-anime","tag-anime-characters","tag-anime-cosplay","tag-anime-edits","tag-anime-merchandise","tag-anime-movies","tag-anime-news","tag-anime-recommendations","tag-anime-reviews","tag-anime-series","tag-anime-streaming","tag-animes","tag-app-store","tag-app-store-samsung","tag-appgallery","tag-appgallery-oneplus","tag-apple","tag-apple-music","tag-apple-tv","tag-apple-watch","tag-bbc-sport","tag-best-mobile-games","tag-bixby","tag-bixby-xiaomi","tag-champions-league","tag-cyberpunk","tag-cyberpunk-2077","tag-fantasy-football","tag-fifa","tag-football","tag-formula-1","tag-fortnite","tag-free-fire","tag-free-mobile-games","tag-freebuds-pro","tag-galaxy-a52","tag-galaxy-note-20","tag-galaxy-s21","tag-galaxy-watch-4","tag-galaxy-z-fold-3","tag-game","tag-games","tag-golf","tag-harmonyos","tag-how-to-backup-iphone","tag-how-to-factory-reset-iphone","tag-how-to-reset-iphone","tag-how-to-restore-iphone","tag-how-to-unlock-iphone","tag-how-to-unlock-iphone-5","tag-how-to-unlock-iphone-6","tag-huawei","tag-ios","tag-ipad","tag-iphone","tag-live-soccer","tag-lol","tag-macbook","tag-macos","tag-mate-40-pro","tag-mi-11-lite","tag-mi-home-security-camera-basic-1080p","tag-mi-home-security-camera-basic-1080p-huawei","tag-mi-smart-band-6","tag-minecraft","tag-miui","tag-mlb-scores","tag-mobile-game-design","tag-mobile-game-development","tag-mobile-game-marketing","tag-mobile-game-monetization","tag-mobile-games","tag-mobile-gaming","tag-nba-scores","tag-nba-standings","tag-nfl","tag-nfl-scores","tag-nhl-scores","tag-one-ui","tag-oneplus","tag-oneplus-9-pro","tag-oneplus-buds-pro","tag-oneplus-nord-ce-5g","tag-oxygenos","tag-p40-pro-plus","tag-poco-x3-pro","tag-pokemon","tag-premier-league","tag-pubg","tag-pubg-mobile","tag-redmi-note-10-pro","tag-samsung","tag-samsung-pay","tag-soccer","tag-sports","tag-steam","tag-steeam","tag-top-10-anime","tag-valorant","tag-when-do-the-iphone-7-come-out","tag-when-does-the-iphone-7-come-out","tag-when-is-the-iphone-7-coming-out","tag-world-cup","tag-xbox-series-x","tag-xiaomi"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/31106","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/users\/1190"}],"replies":[{"embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/comments?post=31106"}],"version-history":[{"count":1,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/31106\/revisions"}],"predecessor-version":[{"id":31112,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/posts\/31106\/revisions\/31112"}],"wp:attachment":[{"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/media?parent=31106"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/categories?post=31106"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gamefootballmobileanimeiphone.com\/index.php\/wp-json\/wp\/v2\/tags?post=31106"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}