由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Statistics版 - 如何删去string variable尾部的字符?
相关主题
请教高人如何用一个表格的列去替换另一个表格的列?请教一sas programmm
一个sas问题,谢谢help in sas
请教sas code问题sas问题
[合集] 一个SAS数据合并的问题线性回归的SAS编程疑问
[合集] 说一个proc sort的很简单却总有人错的问题sas里怎么取相邻2个observation的差?
一个sas问题help sas code for choosing control group
[合集] 自问自答刚才问的问题,但请各位帮我简化下codehi, an interview question
[合集] 急问大家一个问题。多谢了。请教两个关于SAS的问题
相关话题的讨论汇总
话题: inc话题: services话题: name话题: cl话题: fidelity
进入Statistics版参与讨论
1 (共1页)
i*********9
发帖数: 44
1
比如有记录:
KELLY SERVICES INC
FIDELITY HIGH INCOME INC
TALENT SERVICES -CL A
如何才能删去每个记录最后的"INC"或“-CL A"?多谢!!
w********5
发帖数: 72
2
data name;
length name $100;
infile datalines dsd missover;
input name $;
datalines;
'KELLY SERVICES INC'
'FIDELITY HIGH INCOME INC'
'TALENT SERVICES -CL A'
;
run;
data name1;
set name;
Again=scan(name,1,' ')||" "||scan(name,2,' ');
run;
i*********9
发帖数: 44
3
谢谢!可是第二个记录成了
FIDELITY HIGH
而我想要的是
FIDELITY HIGH INCOME
只去掉尾巴上的INC
好像很难办。。。

【在 w********5 的大作中提到】
: data name;
: length name $100;
: infile datalines dsd missover;
: input name $;
: datalines;
: 'KELLY SERVICES INC'
: 'FIDELITY HIGH INCOME INC'
: 'TALENT SERVICES -CL A'
: ;
: run;

D******n
发帖数: 2836
4
u didnt clearly define what you want. what is the tail u r talking about.
just thos two cases?
if u dont know, computer doesnt know either.

【在 i*********9 的大作中提到】
: 谢谢!可是第二个记录成了
: FIDELITY HIGH
: 而我想要的是
: FIDELITY HIGH INCOME
: 只去掉尾巴上的INC
: 好像很难办。。。

g********d
发帖数: 2022
5
改了一下楼上那位大侠的。
假设最长的公司名只有5个,例子我改了一下为了测试。
attention那个变量是用来探测可能中间有“INC”,"-CL", "A"需要保留的,可能对你
没什么用,但是只是一个谨慎的思路。
data name;
length name $100;
infile datalines dsd missover;
input name $;
datalines;
'KELLY INC SERVICES INC'
'FIDELITY HIGH INCOME INC'
'A TALENT SERVICES -CL A'
'.'
;
run;
data name1;
set name;
A1=scan(name,1,' ');
A2=scan(name,2,' ');
A3=scan(name,3,' ');
A4=scan(name,4,' ');
A5=scan(name,5,' ');
array aa(5) A1-A5;
do i=1 to 5;
if aa(i)="INC" or aa(i)="-CL" or aa(i)="A" then aa(i)="";
e

【在 i*********9 的大作中提到】
: 谢谢!可是第二个记录成了
: FIDELITY HIGH
: 而我想要的是
: FIDELITY HIGH INCOME
: 只去掉尾巴上的INC
: 好像很难办。。。

N**D
发帖数: 10322
6
$s = %s/INC$//g;
one line in perl

【在 i*********9 的大作中提到】
: 比如有记录:
: KELLY SERVICES INC
: FIDELITY HIGH INCOME INC
: TALENT SERVICES -CL A
: 如何才能删去每个记录最后的"INC"或“-CL A"?多谢!!

i*********9
发帖数: 44
7
PERL如此Powerful,我很想学学
请问大侠我该下载Strawberry Perl还是ActivePerl?我是初学者。。。多谢!

【在 N**D 的大作中提到】
: $s = %s/INC$//g;
: one line in perl

i*********9
发帖数: 44
8
小的向高手们诚挚的致敬

【在 g********d 的大作中提到】
: 改了一下楼上那位大侠的。
: 假设最长的公司名只有5个,例子我改了一下为了测试。
: attention那个变量是用来探测可能中间有“INC”,"-CL", "A"需要保留的,可能对你
: 没什么用,但是只是一个谨慎的思路。
: data name;
: length name $100;
: infile datalines dsd missover;
: input name $;
: datalines;
: 'KELLY INC SERVICES INC'

i*********9
发帖数: 44
9
我想到一个办法
首先用SCAN找出所有结尾为INC,-CL A的observations
然后用tranwrd来把它们都替换为' '就行了

【在 w********5 的大作中提到】
: data name;
: length name $100;
: infile datalines dsd missover;
: input name $;
: datalines;
: 'KELLY SERVICES INC'
: 'FIDELITY HIGH INCOME INC'
: 'TALENT SERVICES -CL A'
: ;
: run;

z**k
发帖数: 378
10
ActivePerl

【在 i*********9 的大作中提到】
: PERL如此Powerful,我很想学学
: 请问大侠我该下载Strawberry Perl还是ActivePerl?我是初学者。。。多谢!

相关主题
一个sas问题请教一sas programmm
[合集] 自问自答刚才问的问题,但请各位帮我简化下codehelp in sas
[合集] 急问大家一个问题。多谢了。sas问题
进入Statistics版参与讨论
s******r
发帖数: 1524
11
It is bad idea. You are facing some uncertain.
For instance a company name is : xxxxx INCER**. you code would fail.
With limited word to remove, try something like
data name;
length name $100;
infile datalines dsd missover;
input name $;
if scan(name,-1)='INC' then
_name=substr(name,1, length(name)-3);
else if scan(name,-1,'-')='CL A' THEN
_name=substr(name,1, length(name)-6);
datalines;
'KELLY SERVICES INC'
'FIDELITY HIGH INCOME INC'
'TALENT SERVICES -CL A'
;
run;

【在 i*********9 的大作中提到】
: 我想到一个办法
: 首先用SCAN找出所有结尾为INC,-CL A的observations
: 然后用tranwrd来把它们都替换为' '就行了

S******y
发帖数: 1123
12
#Run this in Python -
S= ['KELLY SERVICES INC',
'FIDELITY HIGH INCOME INC',
'TALENT SERVICES -CL A']
for item in S:
clean_line = item.rstrip('INC-CLA ')
print clean_line
#output --
'''
KELLY SERVICES
FIDELITY HIGH INCOME
TALENT SERVICES
'''
a****g
发帖数: 8131
13
good one

【在 s******r 的大作中提到】
: It is bad idea. You are facing some uncertain.
: For instance a company name is : xxxxx INCER**. you code would fail.
: With limited word to remove, try something like
: data name;
: length name $100;
: infile datalines dsd missover;
: input name $;
: if scan(name,-1)='INC' then
: _name=substr(name,1, length(name)-3);
: else if scan(name,-1,'-')='CL A' THEN

b******e
发帖数: 539
14
Nice

【在 S******y 的大作中提到】
: #Run this in Python -
: S= ['KELLY SERVICES INC',
: 'FIDELITY HIGH INCOME INC',
: 'TALENT SERVICES -CL A']
: for item in S:
: clean_line = item.rstrip('INC-CLA ')
: print clean_line
: #output --
: '''
: KELLY SERVICES

i*********9
发帖数: 44
15
Python is great! Thank you!!

【在 S******y 的大作中提到】
: #Run this in Python -
: S= ['KELLY SERVICES INC',
: 'FIDELITY HIGH INCOME INC',
: 'TALENT SERVICES -CL A']
: for item in S:
: clean_line = item.rstrip('INC-CLA ')
: print clean_line
: #output --
: '''
: KELLY SERVICES

l*****8
发帖数: 483
16
aa=substr(string,1,length(string)-length(scan(string,-1,' ')));
S******y
发帖数: 1123
17
#A slight enhanced version
#Python 3.1
S= ['KELLY SERVICES INC',
'FIDELITY HIGH INCOME INC',
'TALENT SERVICES -CL A',
'INTLEL',
'ABC International']
for item in S:
#print(item)
ls=item.split()
if len(ls) == 1 or len(ls) == 0: #if less or equal than one word, do not clean
clean_line = item
else:
clean_line = item.upper().rstrip('INC-CLA ')
print(clean_line)
i*********9
发帖数: 44
18
Great! Thank you for the code!

【在 s******r 的大作中提到】
: It is bad idea. You are facing some uncertain.
: For instance a company name is : xxxxx INCER**. you code would fail.
: With limited word to remove, try something like
: data name;
: length name $100;
: infile datalines dsd missover;
: input name $;
: if scan(name,-1)='INC' then
: _name=substr(name,1, length(name)-3);
: else if scan(name,-1,'-')='CL A' THEN

1 (共1页)
进入Statistics版参与讨论
相关主题
请教两个关于SAS的问题[合集] 说一个proc sort的很简单却总有人错的问题
一个sas问题的解决方法讨论一个sas问题
overall mean in sas for several variables[合集] 自问自答刚才问的问题,但请各位帮我简化下code
能不能帮忙看一下code 哪里有问题,run不出结果来[合集] 急问大家一个问题。多谢了。
请教高人如何用一个表格的列去替换另一个表格的列?请教一sas programmm
一个sas问题,谢谢help in sas
请教sas code问题sas问题
[合集] 一个SAS数据合并的问题线性回归的SAS编程疑问
相关话题的讨论汇总
话题: inc话题: services话题: name话题: cl话题: fidelity