<?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: Replace a text string when it occurs more than once in SAS Programming</title>
    <link>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61962#M13484</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is one way. hth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* test data */&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; one;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; old = &lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;"asdgdfgdg"&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* create a new var replacing dg with YY in old */&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; two;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; one;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; new $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;9&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; new = prxchange(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;"s|dg|YY|"&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;, -&lt;/SPAN&gt;&lt;STRONG style="color: #008080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;, old);&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* check */&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;proc&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;print&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;=two;&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* on lst&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; Obs&amp;nbsp;&amp;nbsp; old&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asdgdfgdg&amp;nbsp;&amp;nbsp;&amp;nbsp; asYYdfgYY&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 May 2011 21:37:52 GMT</pubDate>
    <dc:creator>chang_y_chung_hotmail_com</dc:creator>
    <dc:date>2011-05-04T21:37:52Z</dc:date>
    <item>
      <title>Replace a text string when it occurs more than once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61959#M13481</link>
      <description>Dear all,&lt;BR /&gt;
&lt;BR /&gt;
I have the following problem:&lt;BR /&gt;
I use the macro described here: &lt;A href="http://www2.sas.com/proceedings/sugi24/Coders/p086-24.pdf" target="_blank"&gt;http://www2.sas.com/proceedings/sugi24/Coders/p086-24.pdf&lt;/A&gt;.&lt;BR /&gt;
&lt;BR /&gt;
Code:&lt;BR /&gt;
%macro replace (dataset = , chkvar = , search = , replace =,&lt;BR /&gt;
newvar = );&lt;BR /&gt;
data &amp;amp;dataset (drop = textpos) newvars;&lt;BR /&gt;
length &amp;amp;newvar $ 200;&lt;BR /&gt;
set &amp;amp;dataset;&lt;BR /&gt;
textpos = index(upcase(&amp;amp;chkvar), upcase("&amp;amp;search"));&lt;BR /&gt;
oldvar = &amp;amp;chkvar;&lt;BR /&gt;
if textpos ne 0 then&lt;BR /&gt;
do;&lt;BR /&gt;
if textpos ne 1 then&lt;BR /&gt;
&amp;amp;newvar = substr(&amp;amp;chkvar, 1, (textpos - 1)) ||"&amp;amp;replace"||substr(&amp;amp;chkvar, (textpos+length("&amp;amp;search")));&lt;BR /&gt;
else &amp;amp;newvar = "&amp;amp;replace"||&lt;BR /&gt;
substr(&amp;amp;chkvar, (textpos + length("&amp;amp;search")));&lt;BR /&gt;
output newvars;&lt;BR /&gt;
end;&lt;BR /&gt;
else &amp;amp;newvar = &amp;amp;chkvar;&lt;BR /&gt;
output &amp;amp;dataset;&lt;BR /&gt;
run;&lt;BR /&gt;
proc print data = newvars;&lt;BR /&gt;
title “SEARCH FOR ‘&amp;amp;search’ AND REPLACE WITH ‘&amp;amp;replace’”;&lt;BR /&gt;
var oldvar &amp;amp;newvar;&lt;BR /&gt;
run;&lt;BR /&gt;
%mend replace;&lt;BR /&gt;
&lt;BR /&gt;
&lt;BR /&gt;
This macro replaces a specified string in a cell. The problem is, that it only replaces the first specified string that appears in a cell, when the specified string occurs more than once, the macro does not replace all specified string appearing in the cell but only the first one. How could the macro be fixed in order to replace the specified string as often as the specified string occurs in the cell?&lt;BR /&gt;
&lt;BR /&gt;
Thanks a lot for your help.&lt;BR /&gt;
&lt;BR /&gt;
Valentin</description>
      <pubDate>Wed, 04 May 2011 16:15:51 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61959#M13481</guid>
      <dc:creator>Valentin_HU</dc:creator>
      <dc:date>2011-05-04T16:15:51Z</dc:date>
    </item>
    <item>
      <title>Re: Replace a text string when it occurs more than once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61960#M13482</link>
      <description>Hello Valentin,&lt;BR /&gt;
&lt;BR /&gt;
One of the possible solutions is to loop of this macro making a slight change in its code, namely output  testpos as a macro variable, and loop untill testpos=0 like this:&lt;BR /&gt;
[pre]&lt;BR /&gt;
%macro replace (dataset = , chkvar = , search = , replace =,&lt;BR /&gt;
newvar = );&lt;BR /&gt;
%global tp;&lt;BR /&gt;
data &amp;amp;dataset (drop = textpos) newvars;&lt;BR /&gt;
length &amp;amp;newvar $ 200;&lt;BR /&gt;
set &amp;amp;dataset;&lt;BR /&gt;
textpos = index(upcase(&amp;amp;chkvar), upcase("&amp;amp;search"));&lt;BR /&gt;
CALL SYMPUTX('tp',textpos);&lt;BR /&gt;
oldvar = &amp;amp;chkvar;&lt;BR /&gt;
if textpos ne 0 then&lt;BR /&gt;
do;&lt;BR /&gt;
if textpos ne 1 then&lt;BR /&gt;
&amp;amp;newvar = substr(&amp;amp;chkvar, 1, (textpos - 1)) ||"&amp;amp;replace"||substr(&amp;amp;chkvar, (textpos+length("&amp;amp;search")));&lt;BR /&gt;
else &amp;amp;newvar = "&amp;amp;replace"||&lt;BR /&gt;
substr(&amp;amp;chkvar, (textpos + length("&amp;amp;search")));&lt;BR /&gt;
output newvars;&lt;BR /&gt;
end;&lt;BR /&gt;
else &amp;amp;newvar = &amp;amp;chkvar;&lt;BR /&gt;
output &amp;amp;dataset;&lt;BR /&gt;
run;&lt;BR /&gt;
proc print data = newvars;&lt;BR /&gt;
title “SEARCH FOR ‘&amp;amp;search’ AND REPLACE WITH ‘&amp;amp;replace’”;&lt;BR /&gt;
var oldvar &amp;amp;newvar;&lt;BR /&gt;
run;&lt;BR /&gt;
%mend replace;&lt;BR /&gt;
%macro a;&lt;BR /&gt;
  %global tp;&lt;BR /&gt;
  %do %until (&amp;amp;tp = 0);&lt;BR /&gt;
    %replace (dataset = a, chkvar = a, search = dg, replace = yy, newvar =a );&lt;BR /&gt;
  %end;&lt;BR /&gt;
%mend a;&lt;BR /&gt;
data a;&lt;BR /&gt;
  a="asdgdfgdg";&lt;BR /&gt;
  b="dg";&lt;BR /&gt;
run;&lt;BR /&gt;
%a&lt;BR /&gt;
[/pre]&lt;BR /&gt;
Sincerely,&lt;BR /&gt;
SPR</description>
      <pubDate>Wed, 04 May 2011 18:12:15 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61960#M13482</guid>
      <dc:creator>SPR</dc:creator>
      <dc:date>2011-05-04T18:12:15Z</dc:date>
    </item>
    <item>
      <title>Re: Replace a text string when it occurs more than once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61961#M13483</link>
      <description>Maybe I’ve misunderstood your objective, but wouldn’t it be a lot easier to just use the TRANWRD function?</description>
      <pubDate>Wed, 04 May 2011 19:29:41 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61961#M13483</guid>
      <dc:creator>polingjw</dc:creator>
      <dc:date>2011-05-04T19:29:41Z</dc:date>
    </item>
    <item>
      <title>Re: Replace a text string when it occurs more than once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61962#M13484</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Here is one way. hth.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* test data */&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; one;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; old = &lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;"asdgdfgdg"&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* create a new var replacing dg with YY in old */&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;data&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; two;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; one;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;length&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; new $&lt;/SPAN&gt;&lt;STRONG style="color: #008080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;9&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; new = prxchange(&lt;/SPAN&gt;&lt;SPAN style="color: #800080; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;"s|dg|YY|"&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;, -&lt;/SPAN&gt;&lt;STRONG style="color: #008080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;1&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;, old);&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt; &lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* check */&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;proc&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;print&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt; &lt;/SPAN&gt;&lt;SPAN style="color: #0000ff; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;data&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;=two;&lt;/SPAN&gt;&lt;BR /&gt;&lt;STRONG style="color: #000080; font-size: 9pt; background-color: #ffffff; font-family: Courier New;"&gt;run&lt;/STRONG&gt;&lt;SPAN style="background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;/* on lst&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; Obs&amp;nbsp;&amp;nbsp; old&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; new&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; asdgdfgdg&amp;nbsp;&amp;nbsp;&amp;nbsp; asYYdfgYY&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #008000; background-color: #ffffff; font-family: Courier New; font-size: 9pt;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 May 2011 21:37:52 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61962#M13484</guid>
      <dc:creator>chang_y_chung_hotmail_com</dc:creator>
      <dc:date>2011-05-04T21:37:52Z</dc:date>
    </item>
    <item>
      <title>Re: Replace a text string when it occurs more than once</title>
      <link>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61963#M13485</link>
      <description>I like Chang's suggested code and, if you want, it would be simple to wrap it in a macro.  E.g., the following uses the same structure (mostly) of the original:&lt;BR /&gt;
[pre]&lt;BR /&gt;
%macro replace (dataset = , search = , replace =, variable =, newlength = );&lt;BR /&gt;
  data &amp;amp;dataset. (drop = oldvar);&lt;BR /&gt;
    set &amp;amp;dataset. (rename=(&amp;amp;variable.=oldvar));&lt;BR /&gt;
	length &amp;amp;variable $&amp;amp;newlength.;&lt;BR /&gt;
    &amp;amp;variable. = prxchange("s|&amp;amp;search.|&amp;amp;replace.|", -1, oldvar);&lt;BR /&gt;
   run;&lt;BR /&gt;
%mend replace;&lt;BR /&gt;
data have;&lt;BR /&gt;
  informat aetext $50.;&lt;BR /&gt;
  input PTID AETEXT &amp;amp;;&lt;BR /&gt;
  cards;&lt;BR /&gt;
110 ABD. CRAMPING&lt;BR /&gt;
160 INTRA-ABD. ABSCESS ABD.&lt;BR /&gt;
190 (L) ABD. PAIN&lt;BR /&gt;
220 FOOT ULCER (L) FOOT&lt;BR /&gt;
230 ABD. PAIN&lt;BR /&gt;
360 (L) ELBOW CONTUSION&lt;BR /&gt;
440 PAIN (L) KNEE&lt;BR /&gt;
520 ACNE          &lt;BR /&gt;
520 TINGLING (L) FOOT&lt;BR /&gt;
530 ASCITES ABD.&lt;BR /&gt;
;&lt;BR /&gt;
run;&lt;BR /&gt;
&lt;BR /&gt;
%replace (dataset = have,&lt;BR /&gt;
   search = ABD.,&lt;BR /&gt;
   replace = ABDOMINAL,&lt;BR /&gt;
   variable = aetext,&lt;BR /&gt;
   newlength = 50)&lt;BR /&gt;
[/pre]&lt;BR /&gt;
HTH,&lt;BR /&gt;
Art&lt;BR /&gt;
&lt;BR /&gt;
&amp;gt; Here is one way. hth.&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#008000;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;/*&amp;nbsp;test&amp;nbsp;data&amp;nbsp;*/
&amp;gt; pan&amp;gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;data&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;&amp;nbsp;one;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old&lt;BR /&gt;
&amp;gt; &amp;nbsp;=&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#800080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;"asdgdfgdg"&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;run&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#008000;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;/*&amp;nbsp;create&amp;nbsp;a&amp;nbsp;new&amp;amp;nb&lt;BR /&gt;
&amp;gt; sp;var&amp;nbsp;replacing&amp;nbsp;dg&amp;nbsp;with&amp;nbsp;YY&amp;nbsp;i&lt;BR /&gt;
&amp;gt; n&amp;nbsp;old&amp;nbsp;*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;data&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;&amp;nbsp;two;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;gt; pan&amp;gt;&lt;SPAN style="color:#0000FF;font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;set&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;&amp;nbsp;one;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;gt; pan&amp;gt;&lt;SPAN style="color:#0000FF;font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;length&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;&amp;nbsp;new&amp;nbsp;$&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#008080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;9&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&lt;BR /&gt;
&amp;gt; &amp;nbsp;=&amp;nbsp;prxchange(&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#800080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;"s|dg|YY|"&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;,&amp;nbsp;-&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#008080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;1&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;,&amp;nbsp;old);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;run&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#008000;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;/*&amp;nbsp;check&amp;nbsp;*/&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; /&amp;gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;proc&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;print&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#0000FF;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;data&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;=two;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#000080;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;run&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;BR /&gt;
&amp;gt; style="color:#008000;font-family:Courier&lt;BR /&gt;
&amp;gt; New;font-size:10pt;"&amp;gt;/*&amp;nbsp;on&amp;nbsp;lst&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; /&amp;gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="color:#008000;font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Obs&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
&amp;gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;old&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;amp;nb&lt;BR /&gt;
&amp;gt; sp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; /&amp;gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="color:#008000;font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;amp;n&lt;BR /&gt;
&amp;gt; bsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;asdgdfgdg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;
&amp;gt; ;asYYdfgYY&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;
&amp;gt; &lt;SPAN style="color:#008000;font-family:Courier&amp;lt;br&amp;gt;
&amp;gt; New;font-size:10pt;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;*/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;</description>
      <pubDate>Wed, 04 May 2011 22:07:57 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Programming/Replace-a-text-string-when-it-occurs-more-than-once/m-p/61963#M13485</guid>
      <dc:creator>art297</dc:creator>
      <dc:date>2011-05-04T22:07:57Z</dc:date>
    </item>
  </channel>
</rss>

