필터 지우기
필터 지우기

using find function for char

조회 수: 58 (최근 30일)
sermet
sermet 2015년 4월 16일
편집: Guillaume 2015년 4월 16일
line =
10 L1 L2 L5 C1 C2 P2 C5 S1 S2# / TYPES OF OBSERV
Name Size Bytes Class
line 1x81 162 char
%I need to use find function for each character in line. For example, I need to know which column is L1 or L2.

채택된 답변

Guillaume
Guillaume 2015년 4월 16일
편집: Guillaume 2015년 4월 16일
Do you actually want to find which column of the string where L1 and L2 are, or if L1 is the second element and L2 the third?
If the former, then use Michael's answer. If the latter, then the best thing to do would be to split the string at the whitespaces then use strcmp:
line = '10 L1 L2 L5 C1 C2 P2 C5 S1 S2# / TYPES OF OBSERV';
splitline = strsplit(line);
L1idx = find(strcmp(splitline, 'L1'))
L2idx = find(strcmp(splitline, 'L2'))
  댓글 수: 4
sermet
sermet 2015년 4월 16일
편집: sermet 2015년 4월 16일
In my case, your answer is related the topic but as I wrote in my comment the result was wrong.
Guillaume
Guillaume 2015년 4월 16일
편집: Guillaume 2015년 4월 16일
I cannot reproduce your problem with the example given. My answer gives me 2 and 3 as output.
Can you find out the ASCII value of the extra characters, as it's not obvious what they are from your comment. You can get the ASCII value of a character by converting it to double, eg:
c = 'A';
asciival = double(c) %should return 65

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Michael Haderlein
Michael Haderlein 2015년 4월 16일
line='10 L1 L2 L5 C1 C2 P2 C5 S1 S2';
strfind(line,'L2')
ans =
13

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by