楼主: 北海之秋
5716 6

请教一个字符串如何实现内部排序 [推广有奖]

  • 0关注
  • 0粉丝

已卖:206份资源

大专生

55%

还不是VIP/贵宾

-

威望
0
论坛币
878 个
通用积分
0.0600
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
475 点
帖子
56
精华
0
在线时间
44 小时
注册时间
2007-6-16
最后登录
2016-11-5

楼主
北海之秋 发表于 2010-8-6 08:04:08 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
各位大侠,请教

string=“mns abc  pmq”

这样一个字符串,用什么语句可以让它内部按首字母排序呢?

变成 “abc mns pmq”这样子?


谢谢啦!
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:如何实现 字符串 string tring 各位大侠 请教 字符

回帖推荐

yatming 发表于5楼  查看完整内容

9.2 都这么先进啦。sortc这种函数。。。。梦寐以求 给个9.1.3做法:利用hash对key自动排序,不过9.1.3的hash还是很低端的。没有类似clear这类清空所有元素的方法。所以不得不每次delete。

本帖被以下文库推荐

沙发
lijunjie555 发表于 2010-8-6 08:11:39
先扯成三个子字符,排序后又组成一个新字符

藤椅
rdzr 发表于 2010-8-6 08:59:48
1# 北海之秋

LZ,看了你的问题,俺也没有太好的法子,不过下面有一个笨办法仅供参考,权当抛砖引玉吧!程序如下:

data a;
string="mns abc  pmq";
f=scan(string,2,' ');
m=scan(string,1,' ');
l=scan(string,3);
new_string=trim(f)||' '||trim(m)||' '||trim(l);
proc print;
var new_string;
run;

下面是运行后的结果:

            
                                       Obs    new_string

                                        1     abc mns pmq

板凳
pobel 在职认证  发表于 2010-8-6 10:11:29
data x;
    x="mns abc pmq";
        array word(3) $;
        do i=1 to 3;
       word(i)=scan(x,i);
        end;
        call sortc(of word1-word3);
    new_x=catx("",of word1-word3);
run;
和谐拯救危机

报纸
yatming 发表于 2010-8-6 11:15:04
9.2 都这么先进啦。sortc这种函数。。。。梦寐以求
给个9.1.3做法:
  1. data a;
  2.         infile cards dlm=",";
  3.         input s:$30. ;
  4.         cards;
  5.         mns abc pmq
  6.         abc blk bad fda zdfdf
  7.         jkla cffd bddfd
  8.         ;
  9. run;

  10. data b(drop= i rc c k);
  11.         declare hash h(ordered: "A");
  12.         declare hiter iter('h');
  13.         h.definekey('k');
  14.         h.definedone();

  15.         set a;
  16.         c=count(strip(s),'')+1;
  17.         do i=1 to c;
  18.                 k=scan(strip(s),i);
  19.                 h.add();
  20.         end;

  21.         rc=iter.first();
  22.         new_s=s;
  23.         call missing(new_s);
  24.         do while (rc = 0);
  25.                 new_s=catx("",strip(new_s),k);
  26.                 rc=iter.next();
  27.         end;

  28.         h.delete();
  29. run;
复制代码
利用hash对key自动排序,不过9.1.3的hash还是很低端的。没有类似clear这类清空所有元素的方法。所以不得不每次delete。

地板
pobel 在职认证  发表于 2010-8-6 11:41:05
5# yatming
9.1也可以用
和谐拯救危机

7
yatming 发表于 2010-8-6 12:24:21
6# pobel
邪恶的sashelp,害人不浅。。。。。

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2026-1-3 03:10