Я пытаюсь вырезать некоторые строки, содержащие символ '_', используя STRMATCH и STRSPLIT, чтобы изменить их следующим образом:
mystring=['aaa_111','bbb_222','ccc','ddd']
nmax=N_ELEMENTS(mystring)
cut_mystring=STRARR(2,nmax)
FOR i=0, nmax-1 DO BEGIN
IF (STRMATCH(mystring[i], '*_*') eq 1) THEN BEGIN
cut_mystring[i]=STRSPLIT(mystring[i], '_', /EXTRACT)
mystring_new[i]= cut_mystring[0,i]+'_MYCOMMENT_'+cut_mystring[1,i]
ENDIF
ENDFOR
print, mystring_new[i]
Результат печати mystring_new[i]:
aaa_111
222_MYCOMMENT_
ccc
ddd
Итак, для первого элемента вроде работает (и, конечно, для двух последних тоже), но не для второго.
Что я здесь делаю неправильно? Спасибо!