2014-01-10 3 views
-1

셀이 v { '$100' '100' 'text' 'word' }이며 아래 기본 규칙에 따라이 셀을 필터링하고 싶습니다. 셀 크기가 1000보다 큰 경우에도 어떻게 효율적으로 관리 할 수 ​​있습니까?셀의 번호를 필터링하는 방법

규칙 :

  • 는, 아무것도 시작을 필터링하고 그 자리에 number를 작성하는 경우 $와 숫자의 시작은 그 항목을 필터링하고 price 키워드
  • 를 작성하는 경우

결과는 { '가격' '텍스트' '단어'}

+2

당신은 당신이 시간을 효율적으로 싶은 말은,하지만 당신은 무엇을 시도? –

답변

0

시험 그는 (문자열이 비어있는 경우) strncmp와 각 셀의 문자열의 첫 번째 문자 및 logical indexing를 사용하여 선택한 셀을 교체 :

v = { '$100' '100' 'text' 'word' }; %// data 

v(cellfun(@(c) strncmp(c,'$',1), v)) = {'price'}; 
v(cellfun(@(c) any(strncmp(c,{'1','2','3','4','5','6','7','8','9','0'},1)), v)) = {'number'} 
관련 문제