<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Capture String value from Position A to Position B in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353350#M119554</link>
    <description>&lt;P&gt;index 111 doesnt exist if row1.line length is under 111 so you can try somethig like that :&lt;/P&gt;&lt;P&gt;(row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81)?(row1.line.substring(81,(row1.line.length()&amp;lt;111)?row1.line.length():111)):null&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so if row1.line length is under 111 it will take the last index of the string for substring&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Fri, 09 Jul 2021 13:33:49 GMT</pubDate>
    <dc:creator>gjeremy1617088143</dc:creator>
    <dc:date>2021-07-09T13:33:49Z</dc:date>
    <item>
      <title>Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353344#M119548</link>
      <description>&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;I have a flat file and on each row I want to capture the string value from position 81 to position 111&lt;/P&gt;&lt;P&gt;Below is my job &lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000GgeO1AAJ.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/146868iC34083CF7F7D6F83/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000GgeO1AAJ.png" alt="0695b00000GgeO1AAJ.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am passing variable ReportName to tFileOutputDelimited.&lt;/P&gt;&lt;P&gt;The value for this variable is always between position 81 through 111 character in each row of the file.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below are 2 expressions I wrote for ReportName but ain't getting what I want&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;U&gt;Tried Option 1) &lt;/U&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81 ? row1.line.substring(81) : row1.line.substring(111)&amp;nbsp;&lt;/P&gt;&lt;P&gt;This does not stop at position 111 and goes to the end of the row and selects everything&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;U&gt;Tried Option 2) &lt;/U&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81 ? row1.line.substring(81:111)&amp;nbsp;&lt;/P&gt;&lt;P&gt;Gives error message &lt;/P&gt;&lt;P&gt;	Syntax error, insert ": Expression" to complete Expression&lt;/P&gt;&lt;P&gt;	Syntax error on token ":", invalid AssignmentOperator&lt;/P&gt;&lt;P&gt;Can someone please help?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;How can I capture string value from character position 81 through 111 of a delimited flat file?&lt;/P&gt;&lt;P&gt;Thank you&lt;/P&gt;</description>
      <pubDate>Fri, 15 Nov 2024 23:58:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353344#M119548</guid>
      <dc:creator>MRup</dc:creator>
      <dc:date>2024-11-15T23:58:23Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353345#M119549</link>
      <description>&lt;P&gt;Hi, &lt;/P&gt;&lt;P&gt;(row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81)?StringHandling.SUBSTR(row1.line, 81,30):null&lt;/P&gt;&lt;P&gt;Send me love and Kidos&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jul 2021 21:14:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353345#M119549</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-07-08T21:14:20Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353346#M119550</link>
      <description>&lt;P&gt;Hi gjeremy,&lt;/P&gt;&lt;P&gt;Thank you for your quick response. Truly Appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried your solution and get syntax error message &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have Talend 6.2 version and StringHandling.SUBSTR is not an option for me&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the error I get&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The method SUBSTR(String, int, int) is undefined for the type StringHandling&lt;/P&gt;&lt;P&gt;	Syntax error on token ":", invalid AssignmentOperator&lt;/P&gt;&lt;P&gt;	Syntax error, insert ": Expression" to complete Expression&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 08 Jul 2021 23:49:21 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353346#M119550</guid>
      <dc:creator>MRup</dc:creator>
      <dc:date>2021-07-08T23:49:21Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353347#M119551</link>
      <description>&lt;P&gt;Try this expression:&lt;/P&gt;&lt;P&gt;(row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81)?row1.line.substring(81,111):null&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jul 2021 01:26:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353347#M119551</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2021-07-09T01:26:53Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353348#M119552</link>
      <description>&lt;P&gt;Yes StringHandling.SUBSTR appear after 6.2, &lt;/P&gt;&lt;P&gt;(row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 111)?row1.line.substring(81,111):null&lt;/P&gt;&lt;P&gt;send me Love and Kudos&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jul 2021 06:51:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353348#M119552</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-07-09T06:51:31Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353349#M119553</link>
      <description>&lt;P&gt;Hi Shong and GJeremy,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried your suggestion and it works if character position until 111 exists. &lt;/P&gt;&lt;P&gt;However if string value exists from 81 to 92 then I get "out of range error&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is how my data is &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;RP2956RPA591040000030300000000872000000000000000000000000000000000000005/04/2021GPA REPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;CE TUESDAY MAY &lt;/P&gt;&lt;P&gt;&amp;nbsp;RP2956RPA591040000030300000000872000000000000000000000000000000000000005/04/2021GPA REPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;R STORE.&lt;/P&gt;&lt;P&gt;1RP2956RPA591040000030300000000872000000000000000000000000000000000000005/04/2021GPA REPORT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RP02956&amp;nbsp;&lt;/P&gt;&lt;P&gt;0RP3227MAN241020000002400000009470902000000000000000000000000000000000005/04/2021STORE MANIFEST SKU SUMMARY &lt;/P&gt;&lt;P&gt;&amp;nbsp;RP3227MAN241020000002400000009470902000000000000000000000000000000000005/04/2021STORE MANIFEST SKU SUMMARY &lt;/P&gt;&lt;P&gt;&amp;nbsp;RP2956RPA591040000030300000000872000000000000000000000000000000000000005/04/2021HELLO WORLD&lt;/P&gt;&lt;P&gt;&amp;nbsp;RP2738PSN613100000002400000009475124000000000000000000000000000000000005/04/2021P.O. STORE PACKING NOTE:&amp;nbsp;1&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So from above data your expression catches following&lt;/P&gt;&lt;P&gt;GPA REPORT&lt;/P&gt;&lt;P&gt;STORE MANIFEST&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But as soon as it reaches line # 6 HELLO WORLD it throws out of range error. &lt;/P&gt;&lt;P&gt;String stops at 93 and expression is looking for range from 81 to 111&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;1) I have made following changes to the expression to TRIM any characters&lt;/P&gt;&lt;P&gt;(row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81)?StringHandling.TRIM(row1.line.substring(81,111)):null&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Error as below -&lt;/P&gt;&lt;P&gt;&lt;B&gt;java.lang.StringIndexOutOfBoundsException: String index out of range: 111&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&lt;B&gt;	at java.lang.String.substring(Unknown Source)&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much for your help. Truly appreciated.&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jul 2021 13:10:23 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353349#M119553</guid>
      <dc:creator>MRup</dc:creator>
      <dc:date>2021-07-09T13:10:23Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353350#M119554</link>
      <description>&lt;P&gt;index 111 doesnt exist if row1.line length is under 111 so you can try somethig like that :&lt;/P&gt;&lt;P&gt;(row1.line != null &amp;amp;&amp;amp; row1.line.length() &amp;gt; 81)?(row1.line.substring(81,(row1.line.length()&amp;lt;111)?row1.line.length():111)):null&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;so if row1.line length is under 111 it will take the last index of the string for substring&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jul 2021 13:33:49 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353350#M119554</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-07-09T13:33:49Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353351#M119555</link>
      <description>&lt;P&gt;BOOM!!!! The expression worked&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you so much GJeremy&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Truly Appreciated the quick response from both of you Shong and GJeremy!&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jul 2021 13:45:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353351#M119555</guid>
      <dc:creator>MRup</dc:creator>
      <dc:date>2021-07-09T13:45:53Z</dc:date>
    </item>
    <item>
      <title>Re: Capture String value from Position A to Position B</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353352#M119556</link>
      <description>&lt;P&gt;you can also just use : row1.line.replaceAll(".*\\/\\d{4}","");&lt;/P&gt;&lt;P&gt;it can work if you dont have a date like dd/MM/yyyy in your report name&lt;/P&gt;</description>
      <pubDate>Fri, 09 Jul 2021 13:54:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Capture-String-value-from-Position-A-to-Position-B/m-p/2353352#M119556</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-07-09T13:54:00Z</dc:date>
    </item>
  </channel>
</rss>

