Conversion String to Integer with Positive or Negative

조회 수: 2 (최근 30일)
Amanda
Amanda 2012년 8월 19일
I have a 1 X 20 column vector of string data in a file name A.txt.
%Input in A.txt:
60N
61N
50S
51S
Objective: to read the column of data as integers and represent N as positive and S as negative.
So the output would be:
60
61
-50
-51
I have researched other posts, apply str2num double. I'm totally stuck.
Thanks,
Amanda

채택된 답변

Azzi Abdelmalek
Azzi Abdelmalek 2012년 8월 19일
편집: Azzi Abdelmalek 2012년 8월 19일
c=char('60N', '61N', '50S', '51S')
cc=[c(:,end) c(:,1:end-1)]
result=cellfun (@(x) regexprep(x,'N','-'),cellstr(cc),'uni',false)
result=cellfun (@(x) regexprep(x,'S',''),result,'uni',false)
result=str2num(char(result))

추가 답변 (1개)

Oleg Komarov
Oleg Komarov 2012년 8월 19일
% Import data
fid = fopen('C:\Users\Oleg\Desktop\test.txt');
out = textscan(fid, '%2f%s','Delimiter','');
fclose(fid);
% Recognize positive and negative
data = out{1} .* (strcmp('N',out{2})*2-1);

카테고리

Help CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by