2016-11-29 1 views
0

나는 여섯 개 값으로 문자열을 가지고 :넘버링 할 문자열. 변수 및 소수에 동일한 구분 기호가 사용됩니다. MATLAB

첫 번째 편지 나머지는 부동 소수점 수입니다, 내가 사용 숫자 값을 좀하고 싶습니다이다
datastring = A, 12229, 1480413555450, 139,1473389, 012,3362331, -001,7571955 

:

data=textscan(datastring,'%s %f %f %f %f %f','Delimiter',','); 

문제는, 여러분도 보시다시피, 십진수와 다른 값이 모두 ,에 의해 분리되어 있다는 것입니다. 어떻게 그렇게 할 수 있었는지 알 수 있습니까?

추신 : 나는 또한 공백이있는 ', ' 인 분리 문자로 시도했지만 어느 것도 작동하지 않습니다.

+1

끔찍한 형식입니다. 그게 사용되지 않았 음을 확인 했습니까? 같은 문자를 사용하여 값과 소수를 구분하는 "실패" –

+0

형식이 끔찍하다는 것을 알고 있지만 그걸로 아무것도 할 수 없습니다. Im 안드로이드의 응용 프로그램에서 Matlab –

+0

으로 데이터를 내보내는 것'textscan' 전에는 모든','을 다른 것으로 바꿀 것입니다 –

답변

2

","을 문자열에없는 다른 것으로 변환 한 다음 나머지 ","를 "."로 변환 할 수 있습니다. 원래 코드를 사용하지만 구분 기호를 '기타'로 변경하십시오 (예 :

tempStr = regexprep (regexprep (datastring, ', ', '# '), ',', '.'); 
data=textscan(tempStr,'%s %f %f %f %f %f','Delimiter','#') 
+0

고마워요! 실제로 그렇게 어려운 것은 아니었지만이 솔루션에 대한 생각은 전혀 없습니다. –

관련 문제