DATA Step, Macro, Functions and more

How to parse string with single quote

Accepted Solution Solved
Reply
Contributor
Posts: 29
Accepted Solution

How to parse string with single quote

data final;

set raw;

   dm = ':,;';

   mod = 'oq';

   nwords = countw(raw, dm, mod);

   do count = 1 to nwords;

      clean = strip(scan(raw, count, dm, mod));

      output;

   end;

run;

The code above works until it hits a portion of the string that has an apostrophe/single quote.  From thereon, it stops parsing.  Would I have to code this in a macro environment using %qscan to get around this issue?

Any examples?

Thank you!


Accepted Solutions
Solution
‎02-26-2015 04:41 PM
PROC Star
Posts: 7,366

Re: How to parse string with single quote

Do you need to parse strings where delimiters are to be ignored when within quotes?

If not, drop the q modifier:

q: ignores delimiters that are inside of substrings that are enclosed in quotation marks. If the value of the string argument contains unmatched quotation marks, then scanning from left to right will produce different words than scanning from right to left.

View solution in original post


All Replies
Solution
‎02-26-2015 04:41 PM
PROC Star
Posts: 7,366

Re: How to parse string with single quote

Do you need to parse strings where delimiters are to be ignored when within quotes?

If not, drop the q modifier:

q: ignores delimiters that are inside of substrings that are enclosed in quotation marks. If the value of the string argument contains unmatched quotation marks, then scanning from left to right will produce different words than scanning from right to left.

Contributor
Posts: 29

Re: How to parse string with single quote

That did it.

Thank you so much.  Still have a lot to learn.

🔒 This topic is solved and locked.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 187 views
  • 1 like
  • 2 in conversation