<?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>Thema "Betreff: Text in einer Spalte trennen" in CoDe SAS German</title>
    <link>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711854#M2671</link>
    <description>&lt;P&gt;REGex ist sicherlich sehr mächtig, abder ich bevorzüge die bewährte Functionen weil das Lesen für mich einfacher ist.&lt;/P&gt;
&lt;P&gt;Was nicht für mich klar ist, aber ich have die trennende Sonderzeichen beibehalten.&amp;nbsp; &amp;nbsp;Und kann auch Komma und Punkt als Trennzeichen vorkommen (Also, nicht nur in Zahlen).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test;
input have $char30.;
length = length(have);
/* Position Zahl vorne - Finde erste Zeichen,  kein Zahl und auch nicht , oder .*/
split_pos_zahl=findc(have,'.,','DK');
/* Position Sonderzeichen Finde erste nicht-alphabetisch Zeichen */
split_pos_sonder = findc(have,'ÄÖÜäöüß','AK');
/* Gross/klein : Erste Grosszeichen, ignoriere 1. */
split_pos_gross = findc(have,'ÄEÖÜ','U',2);
if 1 &amp;lt; split_pos_zahl &amp;lt; length then best_pos = split_pos_zahl;
else if 1 &amp;lt; split_pos_sonder &amp;lt; length then best_pos = split_pos_sonder;
else if 1 &amp;lt; split_pos_gross &amp;lt; length then best_pos = split_pos_gross;
if Best_pos &amp;gt; 1 then want = substrn(have,1,best_pos-1)||' '||substrn(have,best_pos);  

cards;
Brief/Post
ERF!RSA
SOMMER:Winter
PostWichtige
225,00Freitext
15.01.2021Freitext
2RSA:
;
run;&lt;/PRE&gt;</description>
    <pubDate>Sat, 16 Jan 2021 13:45:16 GMT</pubDate>
    <dc:creator>DavePrinsloo</dc:creator>
    <dc:date>2021-01-16T13:45:16Z</dc:date>
    <item>
      <title>Text in einer Spalte trennen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711686#M2667</link>
      <description>&lt;P&gt;Hallo zusammen,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;ich sitze schon gefühlt schon seit Ewigkeiten vor folgendem Problem. Natürlich habe ich versucht mich zu belesen und herauszufinden wie ich es löse, jedoch vergebens &lt;span class="lia-unicode-emoji" title=":enttäuschtes_Gesicht:"&gt;😞&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Wie kann ich folgendes innerhalb einer Zelle gut leserlich trennen:&lt;/P&gt;&lt;P&gt;- Wörter die durch Sonderzeichen verbunden sind, z.B.: Brief&lt;STRONG&gt;/&lt;/STRONG&gt;Post oder ERF&lt;STRONG&gt;!&lt;/STRONG&gt;RSA oder SOMMER&lt;STRONG&gt;:&lt;/STRONG&gt;WINTER&lt;/P&gt;&lt;P&gt;- Wörter die hintereinander ohne Leerzeichen geschrieben sind aber immer mit Großbuchstaben beginnen, z.B. &lt;STRONG&gt;P&lt;/STRONG&gt;ost&lt;STRONG&gt;W&lt;/STRONG&gt;ichtige&lt;/P&gt;&lt;P&gt;- Zahl und Buchstabe trennen (zuerst kommt die Zahl, dann das Wort, z.B.&amp;nbsp;225,0&lt;STRONG&gt;0F&lt;/STRONG&gt;reitext&amp;nbsp;&amp;nbsp;&amp;nbsp;oder 15.01.202&lt;STRONG&gt;1F&lt;/STRONG&gt;reitext&amp;nbsp;oder&amp;nbsp;&lt;STRONG&gt;2R&lt;/STRONG&gt;SA:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Es wäre mir eine große Hilfe wenn mir jemand helfen könnte. Wenn es einen data step gibt, der keine Makros verwendet, noch besser :).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Viele Grüße&lt;/P&gt;&lt;P&gt;Katrin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2021 15:25:36 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711686#M2667</guid>
      <dc:creator>Katrin1606</dc:creator>
      <dc:date>2021-01-15T15:25:36Z</dc:date>
    </item>
    <item>
      <title>Betreff: Text in einer Spalte trennen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711703#M2668</link>
      <description>&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; color: #000080; font-family: Courier New;"&gt;&lt;STRONG&gt;Hi Katrin,&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; color: #000080; font-family: Courier New;"&gt;&lt;STRONG&gt;du könntest nach regulären Ausdrücken suchen.&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; color: #000080; font-family: Courier New;"&gt;&lt;STRONG&gt;Viele Grüße&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; color: #000080; font-family: Courier New;"&gt;&lt;STRONG&gt;Benno&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; color: #000080; font-family: Courier New;"&gt;&lt;STRONG&gt;data&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;_null_&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT TEIL1 TEIL2 $&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;32767&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Ad 1: Sonderzeichen */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'Br3ief/Post'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Finde regulaeren Ausdruck... Sonderzeichen */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/\W/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'ERF!RSA'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Finde regulaeren Ausdruck... Sonderzeichen */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/\W/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'SOMMER:WINTER'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Finde regulaeren Ausdruck... Sonderzeichen */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/\W/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'ERF/RSA'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Finde regulaeren Ausdruck... Sonderzeichen */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/\W/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Ad 2: Grossbuchstabe */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'PostWichtige'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Finde regulaeren Ausdruck... Grossbuchstabe */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/[A-Z]/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;/* Ad 3: Zahl */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'225,00Freitext'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class="moz-text-html"&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008000; font-family: Courier New;"&gt;/* Finde regulaeren Ausdruck... Buchstaben */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/[A-Za-z]/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEXT = &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'2RSA'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;POSITION = prxmatch (&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #800080; font-family: Courier New;"&gt;'/[A-Za-z]/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;2&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;));&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL1 = substr (TEXT, &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;, POSITION);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;TEIL2 = substr (TEXT, POSITION + &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: #008080; font-family: Courier New;"&gt;&lt;STRONG&gt;1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: blue; font-family: Courier New;"&gt;put&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt; TEXT= POSITION= TEIL1= TEIL2=;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-size: 10pt; color: #000080; font-family: Courier New;"&gt;&lt;STRONG&gt;run&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; font-family: Courier New;"&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 15 Jan 2021 16:15:06 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711703#M2668</guid>
      <dc:creator>Benno_Burkhart</dc:creator>
      <dc:date>2021-01-15T16:15:06Z</dc:date>
    </item>
    <item>
      <title>Betreff: Text in einer Spalte trennen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711718#M2669</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://communities.sas.com/t5/user/viewprofilepage/user-id/254661"&gt;@Katrin1606&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;habe mal eine Lösung auf der Basis von RegEx und den SAS-Funktionen scan &amp;amp; count entwickelt. Für die erste beiden Fälle habe ich Lösungen entwickelt die mit beliebig vielen verbundenen "Wörtern" umgehen kann. Für den letzten Fall habe ich bisher noch keine Lösung die mit n Wörtern umgehen kann - solltest du das benötigen sag Bescheid. Zu RegEx in SAS empfehle ich immer das &lt;A href="https://support.sas.com/rnd/base/datastep/perl_regexp/regexp-tip-sheet.pdf" target="_blank"&gt;Cheat-Sheet&lt;/A&gt;. Der Code ist nicht wirklich kommentiert, ich hoffe er spricht für sich.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;data work.aaa(drop=p1 p2 p3 c1 c2 i j l);
	length w1 w2 w3 $256.;
	* Sonderzeichen;
	str2 = "ERF!RSA";
	p2 = prxparse('/\W/');
	c2 = countw(str2, '', 'P') ;
	do j = 1 to c2;
		w2 = scan(str2, j, '', 'P');
		output;
	end;

	* camelCase-Worttrennung;
	str1 = "PostWichtigeTest";
	p1 = prxparse('/[A-Z]/');
	c1 = countw(str1, "", 'U');
	*w1 = substr(str1, 1, prxmatch(p1, substr(str1, 2)));
	do i = 1 to c1;
		if i = 1 then l = 1;
		w1 = substr(str1, l, prxmatch(p1, substr(str1, l + 1)));
		l = l + length(w1);
		output;
	end;

	* Zahlen-Worttrennung;
	str3 = "225,00Freitext";
	p3 = prxparse('/\d[A-Z]/');
	w3 = substr(str3, 1, prxmatch(p3, str3));
	output;
	w3 = substr(str3, prxmatch(p3, str3) + 1);
	output;
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Viele Grüße&lt;/P&gt;
&lt;P&gt;David&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2021 16:51:04 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711718#M2669</guid>
      <dc:creator>DavidHD</dc:creator>
      <dc:date>2021-01-15T16:51:04Z</dc:date>
    </item>
    <item>
      <title>Betreff: Text in einer Spalte trennen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711720#M2670</link>
      <description>&lt;P&gt;Hallo Katrin,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;ich denke auch, dass man hier mit &lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.5&amp;amp;docsetId=lefunctionsref&amp;amp;docsetTarget=p0s9ilagexmjl8n1u7e1t1jfnzlk.htm&amp;amp;locale=en" target="_blank" rel="noopener"&gt;regulären Ausdrücken&lt;/A&gt; arbeiten sollte. Wenn es das Ziel ist, den vorhandenen Text in einer Character-Variablen geeignet abzuändern, kann man dies direkt mit der &lt;A href="https://documentation.sas.com/?cdcId=pgmsascdc&amp;amp;cdcVersion=9.4_3.5&amp;amp;docsetId=lefunctionsref&amp;amp;docsetTarget=n0r8h2fa8djqf1n1cnenrvm573br.htm&amp;amp;locale=en" target="_blank" rel="noopener"&gt;PRXCHANGE&lt;/A&gt;-Funktion tun.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Beispiel:&lt;/P&gt;
&lt;PRE&gt;&lt;CODE class=" language-sas"&gt;/* Erzeugen von Beispieldaten */

data have;
input c $50.;
cards;
z.B. ein Brief/Post von heute/gestern
ERF!RSA
Katalog SOMMER:WINTER 2021
PostWichtige
EUR225,00Freitext
ab15.01.2021Freitext
100 kW
2RSA
c/o
30/100
Neu/Änderungen
TabelleÜbersicht
Schließung/Öffnung
Spaß+Ärger
;

/* Anwenden von vier Änderungsregeln */

data want;
set have;
c=prxchange('s/([[:alpha:]]{2})([[:punct:]])([[:alpha:]]{2})/$1 $2 $3/',-1,c);
c=prxchange('s/([a-zäöüß]{2})([A-ZÄÖÜ])/$1 $2/',-1,c);
c=prxchange('s/(\d)([[:alpha:]])/$1 $2/',-1,c);
c=prxchange('s/([[:alpha:]])(\d)/$1 $2/',-1,c);
run;&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Die "vier Änderungsregeln" bedeuten:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Sonderzeichen, an das beidseitig jeweils mindestens zwei Buchstaben angrenzen, mit Leerzeichen umgeben.&lt;/LI&gt;
&lt;LI&gt;Leerzeichen nach mindestens zwei Kleinbuchstaben einfügen, wenn sich ein Großbuchstabe anschließt.&lt;/LI&gt;
&lt;LI&gt;Ziffer von Buchstabe durch Leerzeichen trennen.&lt;/LI&gt;
&lt;LI&gt;Dito in umgekehrter Reihenfolge.&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;Die Regeln werden jeweils "so oft wie möglich" (zweites Argument &lt;FONT face="courier new,courier"&gt;-1&lt;/FONT&gt;) angewandt.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Wenn noch Verfeinerungen oder Ergänzungen der Regeln nötig werden, kann man die regulären Ausdrücke sicherlich nachjustieren oder weitere hinzufügen.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 15 Jan 2021 16:56:21 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711720#M2670</guid>
      <dc:creator>FreelanceReinh</dc:creator>
      <dc:date>2021-01-15T16:56:21Z</dc:date>
    </item>
    <item>
      <title>Betreff: Text in einer Spalte trennen</title>
      <link>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711854#M2671</link>
      <description>&lt;P&gt;REGex ist sicherlich sehr mächtig, abder ich bevorzüge die bewährte Functionen weil das Lesen für mich einfacher ist.&lt;/P&gt;
&lt;P&gt;Was nicht für mich klar ist, aber ich have die trennende Sonderzeichen beibehalten.&amp;nbsp; &amp;nbsp;Und kann auch Komma und Punkt als Trennzeichen vorkommen (Also, nicht nur in Zahlen).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;PRE&gt;data test;
input have $char30.;
length = length(have);
/* Position Zahl vorne - Finde erste Zeichen,  kein Zahl und auch nicht , oder .*/
split_pos_zahl=findc(have,'.,','DK');
/* Position Sonderzeichen Finde erste nicht-alphabetisch Zeichen */
split_pos_sonder = findc(have,'ÄÖÜäöüß','AK');
/* Gross/klein : Erste Grosszeichen, ignoriere 1. */
split_pos_gross = findc(have,'ÄEÖÜ','U',2);
if 1 &amp;lt; split_pos_zahl &amp;lt; length then best_pos = split_pos_zahl;
else if 1 &amp;lt; split_pos_sonder &amp;lt; length then best_pos = split_pos_sonder;
else if 1 &amp;lt; split_pos_gross &amp;lt; length then best_pos = split_pos_gross;
if Best_pos &amp;gt; 1 then want = substrn(have,1,best_pos-1)||' '||substrn(have,best_pos);  

cards;
Brief/Post
ERF!RSA
SOMMER:Winter
PostWichtige
225,00Freitext
15.01.2021Freitext
2RSA:
;
run;&lt;/PRE&gt;</description>
      <pubDate>Sat, 16 Jan 2021 13:45:16 GMT</pubDate>
      <guid>https://communities.sas.com/t5/CoDe-SAS-German/Text-in-einer-Spalte-trennen/m-p/711854#M2671</guid>
      <dc:creator>DavePrinsloo</dc:creator>
      <dc:date>2021-01-16T13:45:16Z</dc:date>
    </item>
  </channel>
</rss>

