Hello!
I have a quick question I hope you can answer:
There is a string "The red car jumped over the bridge." How do I write a statement that counts the number of blanks in a string?
Thank you so much!
Hi Tom,
Thank you greatly for variaty of solutions 🙂
The third one is my favorate, because it can count leading and trailing blanks too!
Best Wishes 🙂
I will try this! Thank you Wong!
n_blanks = length(var) - length(compress(var));
Hi Astounding,
Works great for leading blanks and blanks between words! I am also trying to count trailing blanks in a string too, if possible.
Thank you so much 🙂
In the past I always used
length(string)-length(compress(string,' '))
But now with new functions like COUNTC() you could also use
countc(trim(string),' ')
You need to be careful when counting spaces in variables because SAS stores all character variables as fixed length strings that are padded with spaces. So if you did this:
data _null_
c1=countc("The red car jumped over the bridge.",' ');
put c1=;
run;
You would get 6, but if you did this:
data _null_;
length x $50;
x="The red car jumped over the bridge.";
c1=countc(x,' ');
put c1=;
run;
You would get 21.
Hi Tom,
Thank you greatly for variaty of solutions 🙂
The third one is my favorate, because it can count leading and trailing blanks too!
Best Wishes 🙂
Hi,
For future reference, please mark the post of the person who correctly answered your question as the correct answer, not a reply to it that you have posted. This helps keep acurate answers below the questions, and gives some credit to the poster who answered the question. Also noted on the post "Sum digits of a string".
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.