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-white.png

Special offer for SAS Communities members

Save $250 on SAS Innovate and get a free advance copy of the new SAS For Dummies book! Use the code "SASforDummies" to register. Don't miss out, May 6-9, in Orlando, Florida.

 

View the full agenda.

Register now!

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