将字符串中包含句点的缩写替换为 SAS 中没有句点的缩写
Replace abbreviations containing period in a string with abbrev with no periods in SAS
我有以下数据集,如果最后一个词是 'MD' 或 'M.D.' 或 'MD.',我想将其替换为 'MD'。
DATA EXAMPLE1;
INPUT Names $char30.;
DATALINES;
AARON RAY, M.D.
AARON,RAY MD.
RAY,AARON,M.D.
PMD RAY ARON M.D
AARON MD RAY
AARON RAY
;
run;
Data Convert;
Set Example1;
*I have used the following codes to address the different formats;
if scan(Names,-1,' ')=' MD. ' then Name_temp=tranwrd(Names,' MD. ',' MD ');
if scan(Names,-1,' ')=' M.D. ' then Name_temp=tranwrd(Names,' M.D. ',' MD ');
if scan(Names,-1,' ')='M.D.' then Name_temp=tranwrd(Names,'M.D.','MD');
if scan(Names,-1,' ')=',M.D.' then Name_temp=tranwrd(Names,',M.D.',' MD ');
if scan(Names,-1,' ')=' M.D.' then Name_temp=tranwrd(Names,' M.D.',' MD ');
if scan(Names,-1,' ')=' M.D ' then Name_temp=tranwrd(Names,' M.D ',' MD ');
run;
但只有名字会被转换。
让我知道我可以做什么来得到这个输出
Obs Names Name_temp
1 AARON RAY, M.D. AARON RAY, MD
2 AARON,RAY MD. AARON RAY, MD
3 RAY,AARON,M.D. AARON RAY, MD
4 PMD RAY ARON M.D AARON RAY, MD
5 AARON MD RAY
6 AARON RAY
与其搜索 MD
的所有可能拼写方式,不如将最后一个单词标准化为 MD
并搜索它。
data want;
set example1;
last_word = scan(names, -1, ', ');
if(compress(last_word, '. ') = 'MD')
then name_temp = tranwrd(names, strip(last_word), 'MD');
run;
我有以下数据集,如果最后一个词是 'MD' 或 'M.D.' 或 'MD.',我想将其替换为 'MD'。
DATA EXAMPLE1;
INPUT Names $char30.;
DATALINES;
AARON RAY, M.D.
AARON,RAY MD.
RAY,AARON,M.D.
PMD RAY ARON M.D
AARON MD RAY
AARON RAY
;
run;
Data Convert;
Set Example1;
*I have used the following codes to address the different formats;
if scan(Names,-1,' ')=' MD. ' then Name_temp=tranwrd(Names,' MD. ',' MD ');
if scan(Names,-1,' ')=' M.D. ' then Name_temp=tranwrd(Names,' M.D. ',' MD ');
if scan(Names,-1,' ')='M.D.' then Name_temp=tranwrd(Names,'M.D.','MD');
if scan(Names,-1,' ')=',M.D.' then Name_temp=tranwrd(Names,',M.D.',' MD ');
if scan(Names,-1,' ')=' M.D.' then Name_temp=tranwrd(Names,' M.D.',' MD ');
if scan(Names,-1,' ')=' M.D ' then Name_temp=tranwrd(Names,' M.D ',' MD ');
run;
但只有名字会被转换。
让我知道我可以做什么来得到这个输出
Obs Names Name_temp
1 AARON RAY, M.D. AARON RAY, MD
2 AARON,RAY MD. AARON RAY, MD
3 RAY,AARON,M.D. AARON RAY, MD
4 PMD RAY ARON M.D AARON RAY, MD
5 AARON MD RAY
6 AARON RAY
与其搜索 MD
的所有可能拼写方式,不如将最后一个单词标准化为 MD
并搜索它。
data want;
set example1;
last_word = scan(names, -1, ', ');
if(compress(last_word, '. ') = 'MD')
then name_temp = tranwrd(names, strip(last_word), 'MD');
run;