How can I find a character in a string?

26 ビュー (過去 30 日間)
Karis Anoruo
Karis Anoruo 2021 年 7 月 7 日
コメント済み: Karis Anoruo 2021 年 7 月 12 日
I am searching a textfile line by line for a particular character. Each line is being saved into a string format and then gets searched for the character. Written below is a section of the function I am using. None of the inbuilt string compare functions seem to be able to do this one task: find a character in a string and release the logical '1' if the character is there.
Am I missing a function? If not, how then do I do this please?
oneline = fgets(fid);
while ischar(oneline)
strncmp(character,oneline,strlength(oneline));
oneline = fgets(fid);
end
  2 件のコメント
Stephen23
Stephen23 2021 年 7 月 7 日
"Am I missing a function?"
The simplest one of all:
s = 'hello world';
x = s=='l'
x = 1×11 logical array
0 0 1 1 0 0 0 0 0 1 0
Karis Anoruo
Karis Anoruo 2021 年 7 月 12 日
Thank you!

サインインしてコメントする。

採用された回答

Yongjian Feng
Yongjian Feng 2021 年 7 月 7 日
ismember is the function you are looking for.
  1 件のコメント
Karis Anoruo
Karis Anoruo 2021 年 7 月 12 日
Thank you!

サインインしてコメントする。

その他の回答 (1 件)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2021 年 7 月 7 日
Hi,
Here is one of the many possible solutions to your exercise:
clearvars
fid = fopen('TEXT__R.txt', 'r'); % Your text file
Letter = 'a'; % Looking for letter "a"
ii=1;
while 1
tline = fgetl(fid);
if ischar(tline)
fprintf('Searched line: %d \n', ii)
IDX =strfind(tline, Letter) % Index of "a" character location
N = numel(IDX);
fprintf('%5d "a" character was found \n', N) % Display the found results
ii=ii+1;
end
end
fclose(fid);

カテゴリ

Help Center および File ExchangeCharacters and Strings についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by