Hi Oliver,
Attached are my scripts that hopefully does what you want. There is
also a string chopper.
print(chop(chop(chop(chop("Oliver "))))))
==> "Oli"
saji
function chop(astring)
begin
chr_str=stringtochar(astring)
nchr=dimsizes(chr_str)
if nchr.le.2
return(astring)
end if
return(chartostring(chr_str(:nchr-3)))
end
function array_to_string(var_arr)
begin
dims=dimsizes(var_arr)
rank=dimsizes(dims)
if rank.gt.1
print("This function is for 1-D arrays")
exit
end if
var_str=""
if isatt(var_arr,"join")
spc=var_arr@join
else
spc=""
end if
do i = 0,dims-2
var_str=var_str+var_arr(i)+spc
end do
var_str=var_str+var_arr(dims-1)
return(var_str)
end
function string_to_array(str)
begin
if .not.isatt(str,"separator")
str@separator=","
cmd="echo "+str+" | tr [:blank:] ',' "
str=systemfunc(cmd)
end if
nstr=systemfunc("echo "+str+" | tr "+str@separator+" \\n | wc -l")
istr=stringtoint(nstr)
str_arr=new((/istr/),"string")
do i = 0, istr-1
CMD="echo "+str+" | awk -F"
CMD=CMD+str@separator+" '{print $"+(i+1)+"}'"
str_arr(i)=systemfunc(CMD)
end do
return(str_arr)
end
function str_split(str,splitter)
; till we have string split in NCL
begin
str@separator=splitter
return(string_to_array(str))
end
function str_join(str_arr,joiner)
; till we have string join in NCL
begin
str_arr@join=joiner
return(string_to_array(str_arr))
end
* Oliver.Fuhrer@meteoswiss.ch <Oliver.Fuhrer@meteoswiss.ch> [2009-11-05 21:40:10 +0100]:
> Hi ncl-talk,
>
> I would be interested in using the new string manipulation functions (str_split, str_join, etc.). Are these based on NCL scripts and thus could they already be used in the current version of NCL?
>
> Thanks a lot,
> Oliver
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
-- Saji N. Hameed APEC Climate Center 1463 U-dong, Haeundae-gu, +82 51 745 3951 BUSAN 612-020, KOREA saji@apcc21.net Fax: +82-51-745-3999 _______________________________________________ ncl-talk mailing list List instructions, subscriber options, unsubscribe: http://mailman.ucar.edu/mailman/listinfo/ncl-talkReceived on Thu Nov 5 21:30:05 2009
This archive was generated by hypermail 2.1.8 : Sun Nov 08 2009 - 22:22:57 MST