BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
gzr2mz39
Quartz | Level 8

I would like to capitalize the first letter of the first word of a string. For example, "abc def" would be "Abc def" and "xyz mno rptd" would be "Xyz mno rptd".

Any ideas?

Thank you.

1 ACCEPTED SOLUTION

Accepted Solutions
Haikuo
Onyx | Level 15

There is function propcase(), but it will upcase first char of very word in your string. So you may want to try following approach:

data _null_;

  a="abc def";

substr(a,1,1)=upcase(first(a));

  put a=;

run;

Haikuo

View solution in original post

2 REPLIES 2
Haikuo
Onyx | Level 15

There is function propcase(), but it will upcase first char of very word in your string. So you may want to try following approach:

data _null_;

  a="abc def";

substr(a,1,1)=upcase(first(a));

  put a=;

run;

Haikuo

art297
Opal | Level 21

: Couldn't you just use the substr function?  e.g.:

data have;

  informat text $30.;

  input text &;

  cards;

abc def

xyz mno rptd

;

data want;

  set have;

  substr(text,1,1)=upcase(substr(text,1,1));

run;

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 10534 views
  • 6 likes
  • 3 in conversation