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

お世話になります。

 

特定の文字-や_などを半角スペースに置換したいと考えているのですが、うまくいきません。

半角スペースを削除する関数ならたくさんあるようなのですが。

以前にも同じような質問をしていたので、クォーテーションは不要とか引数の順番とか色々試してみましたが、わかりません。

詳しい方、やり方を教えていただけないでしょうか。

 

%let out = x_2023;
%let tout2 = %sysfunc(tranwrd(&out, '' ,"_")); 

 

1 ACCEPTED SOLUTION

Accepted Solutions
moriokayutaka
Fluorite | Level 6

%letでの記載,私も苦手ですが,もし単語が入っても大丈夫なようにtranwrdを使いたいってことであれば今回のケースだと


%let out = x_2023;
%let tout2 = %sysfunc(tranwrd(&out,_,));

でいけると思いますが(※置換文字列が0レングスの場合,半角スペース一つにするというtranwrdの働きで)

クォーティングからむ文字が対象のこともあるかもなので,以下とかの方が安全ですかね

%let out = x_2023;
%let tout2 = %sysfunc(tranwrd(&out,%str(_),%str( )) );



View solution in original post

1 REPLY 1
moriokayutaka
Fluorite | Level 6

%letでの記載,私も苦手ですが,もし単語が入っても大丈夫なようにtranwrdを使いたいってことであれば今回のケースだと


%let out = x_2023;
%let tout2 = %sysfunc(tranwrd(&out,_,));

でいけると思いますが(※置換文字列が0レングスの場合,半角スペース一つにするというtranwrdの働きで)

クォーティングからむ文字が対象のこともあるかもなので,以下とかの方が安全ですかね

%let out = x_2023;
%let tout2 = %sysfunc(tranwrd(&out,%str(_),%str( )) );



SAS Innovate 2025: Call for Content

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!

Submit your idea!

Discussion stats
  • 1 reply
  • 960 views
  • 1 like
  • 2 in conversation