<?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 regular expression as Row Separator? in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353464#M119643</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I am attempting to parse a log file and wish to use a regular expression as the “Row Separator”&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I started out by trying the tFileIpnut MSDelimited, but the “Row Separator” does not seem to accept regular expressions.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I would like to have my job read sequentially and then "break" each time I encounter &lt;EM&gt;&lt;STRONG&gt;&amp;lt;four characters&amp;gt;&amp;lt;space&amp;gt;&amp;lt;dash&amp;gt;&amp;lt;space&amp;gt;&amp;lt;four characters&amp;gt;&lt;/STRONG&gt;&lt;/EM&gt;.&amp;nbsp; &amp;nbsp; I don't need help with the regular expression - just with selecting the correct Talend component (or does this require Java code)?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;A screenshot of the text is below.&amp;nbsp;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 391px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009Lt5q.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/155000i185B5D48F7AD7F0E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009Lt5q.png" alt="0683p000009Lt5q.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Any advice will be greatly appreciated.&lt;/P&gt;</description>
    <pubDate>Thu, 05 Apr 2018 21:10:46 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2018-04-05T21:10:46Z</dc:date>
    <item>
      <title>regular expression as Row Separator?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353464#M119643</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I am attempting to parse a log file and wish to use a regular expression as the “Row Separator”&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I started out by trying the tFileIpnut MSDelimited, but the “Row Separator” does not seem to accept regular expressions.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;I would like to have my job read sequentially and then "break" each time I encounter &lt;EM&gt;&lt;STRONG&gt;&amp;lt;four characters&amp;gt;&amp;lt;space&amp;gt;&amp;lt;dash&amp;gt;&amp;lt;space&amp;gt;&amp;lt;four characters&amp;gt;&lt;/STRONG&gt;&lt;/EM&gt;.&amp;nbsp; &amp;nbsp; I don't need help with the regular expression - just with selecting the correct Talend component (or does this require Java code)?&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;A screenshot of the text is below.&amp;nbsp;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Capture.PNG" style="width: 391px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009Lt5q.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/155000i185B5D48F7AD7F0E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009Lt5q.png" alt="0683p000009Lt5q.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Any advice will be greatly appreciated.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Apr 2018 21:10:46 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353464#M119643</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-05T21:10:46Z</dc:date>
    </item>
    <item>
      <title>Re: regular expression as Row Separator?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353465#M119644</link>
      <description>&lt;P&gt;You can do it with a job looking like this....&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2018-04-06 at 00.28.08.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009LtLR.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/154142iC14C8130B1709314/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009LtLR.png" alt="0683p000009LtLR.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;The tFileInputRaw is used to read the whole file in one big chunk. It is read as an Object. You convert to a String with the tConvertType component. The important code comes in the tMap. In this component we join the input data (one row) to a tJavaFlex input using "Reload at each row". We also set up a variable to pass to the tJavaFlex. The config can be seen here....&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2018-04-06 at 00.32.06.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009LtN8.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/132726i8F3BC9D23C70A0A0/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009LtN8.png" alt="0683p000009LtN8.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Now we set up the tJavaFlex. Here we need to create a single column (I've called it "row") and add the following code......&lt;/P&gt; 
&lt;P&gt;Start Code&lt;/P&gt; 
&lt;PRE&gt;String[] rows = ((String)globalMap.get("myKey1")).split(".{4} - .{4}");

for(String row : rows){&lt;/PRE&gt; 
&lt;P&gt;Main Code&lt;/P&gt; 
&lt;PRE&gt;row4.row = row;&lt;/PRE&gt; 
&lt;P&gt;End Code&lt;/P&gt; 
&lt;PRE&gt;}&lt;/PRE&gt; 
&lt;P&gt;What we are doing is splitting the String chunk (passed in via the globalMap variable) using the regex (a quick and dirty one I knocked up to test this). It generates an array which I then create a for loop for. The Start Code opens the loop, the Main Code acts on the each iteration of the loop and the End Code closes the loop.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;With your file it generated 12 rows. The only thing to take into consideration is that it will remove the text that is assessed as the row separator. The output looked like this....&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;PRE&gt;}{vfwwwwgggwg}{vovgwwwwwggg}{vofwwwwwwwww}{vofgwgwwwwwg}{vfwgwggwwggu{vofgwwwwww
wg}{vfwgwggwggg}{vofwgwwwwwww}{vovgwggwwwww}{vofwwwwwggwg}{vofgggwwwwwwu{vofwwww
wggwg}{vofgggwgggwu{vfggwwwwwgg}{vofwwwwgg
SERT ID: 2356
CPU ID:
DATE:
TIME:
NAME:

.TR

ZP: 0000
VPL: 00
POS: 3FFF
Tw2: 01
L*D: 10
A%P: 00

.DD


00 00 00 00 03 01 02 0A 00 01 00 1E 00 00 00 00
00 00 01 00 AE 42 00 00 00 02 00 01 00 00 00 00
00 00 F0 00 A7 00 00 00 00 00 00 00 01 11 00 02
70 92 03 20 00 00 60 D5 62 FF 01 FC 04 00 52 C0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 06 0A 1C 00 00 02 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 08 80 8B C7 C2 40 EF DF
00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00
10 10 10 00 00 00 00 00 00 00 00 00 FF FF FF 00
00 00 1E 1E 00 01 00 00 00 20 00 00 00 00 00 00
08 08 40 40 08 00 FF 3F 00 64 08 00 00 00 00 00
00 2B 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 01 02 00 00 10 00 0E 00 03 00 00
00 02 01 01 02 02 02 03 FF FF 00 00 02 00 00 00
00 00 00 00 00 00 2D 08 00 00 00 00 00 02 06 00



00 00 00 00 00 00 00 01 00 00 00 00 17 00 00 00
19 19 C0 17 00 19 00 FF 3F 00 00 00 00 81 12 FF
3F FF 3F 6E 12 00 00 00 00 00 00 00 00 00 00 00
00 00 00 FF 00 17 00 00 00 00 00 00 00 00 00 FB




B2 D1 00 00 00 00 00 00 00 00 00 00 00 00 B2 C0
D5 97 1C 06 B2 D1 00 00 00 00 00 00 00 00 00 00
00 00 FF C3 D1 00 FF C3 D1 00 00 00 FF FF 00 00
00 00 B7 00 00 00 B7 D0 02 D0 48 2F FD 2F 00 00



00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00



17 C8 00 85 CC FF 02 D5 2E 33 01 00 FE C3 01 D5
90 0A 00 FF 00 00 00 07 D5 01 07 00 10 C4 00 00
01 00 00 00 00 11 00 00 00 00 A3 00 00 04 01 D5
11 B9 27 17 C8 00 85 00 00 00 00 00 00 00 14 00
00 D5 00 17 07 00 01 02 00 00 01 03 01 00 31 62
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00



00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
D5 00 17 07 00 28 80 00 00 00 01 06 00 96 01 00
00 00 01 00 00 01 D5 00 00 00 00 00 00 00 01 01
C0 00 67 12 00 00 00 08 01 00 00 00 F9 FF 07 00
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
04 00 F0 FF FE FE 7E 12 FF 3F 2B 11 E0 01 40 FE
FF 00 00 00 03 12 00 00 00 00 04 00 00 00 00 00
2E 30 31 2E 30 32 4C 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 1A 10 B2 C0 97 1C 06 B2 D1 00



00 00 00 00 00 00 02 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 2E B7 00 00 00 2D 02 02 00 01 0F 00
00 00 00 01 5E 1A CE 1A 80 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00



AA 55 FA C1 FB C1 FD C1 FE C1 FF C1 00 C2 01 C2
40 C0 41 C0 42 C0 44 C0 46 C0 48 C0 66 C0 06 C0
01 C0 31 36 31 30 33 31 30 C7 90 D0 90 D0 40 CE
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00



B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00



B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00



B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00
B2 C0 97 1C 06 B2 D1 00 00 00 00 00 00 00 02 00&lt;/PRE&gt;</description>
      <pubDate>Fri, 06 Apr 2018 00:39:02 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353465#M119644</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-06T00:39:02Z</dc:date>
    </item>
    <item>
      <title>Re: regular expression as Row Separator?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353466#M119645</link>
      <description>&lt;P&gt;Thank you very much for putting me on the right path.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Much appreciated!!!&lt;/P&gt;</description>
      <pubDate>Fri, 06 Apr 2018 18:54:37 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353466#M119645</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-06T18:54:37Z</dc:date>
    </item>
    <item>
      <title>Re: regular expression as Row Separator?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353467#M119646</link>
      <description>&lt;P&gt;very good&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Sat, 07 Apr 2018 19:27:29 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/regular-expression-as-Row-Separator/m-p/2353467#M119646</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2018-04-07T19:27:29Z</dc:date>
    </item>
  </channel>
</rss>

