FIND関数で文字を特定することはできますか?

19 ビュー (過去 30 日間)
KO
KO 2021 年 4 月 18 日
編集済み: Megumi Fukuda 2021 年 4 月 21 日
FIND関数で文字を特定することはできますか?
  2 件のコメント
Megumi Fukuda
Megumi Fukuda 2021 年 4 月 18 日
こんにちは。
「FIND関数で文字を特定すること」の具体的な中身を教えていただけると、より良いアドバイスが得られると思います。
find関数で文字が文字列の中に存在するかを判別することは可能です。
example_string = 'Accelerating the pace of engineering and science';
find(example_string=='e');
などとすると、文字列(exmaple_string)の中に特定の文字(e)があるか判別できます。
strfindを使うと、より簡単にいろいろな操作ができると思います。
こちらのページも参考になるかもしれません。ご覧ください。
https://jp.mathworks.com/matlabcentral/answers/203877-using-find-function-for-char
KO
KO 2021 年 4 月 20 日
ありがとうございます。
strfindを使っても、カテゴリー配列のルールになるから、その後の演算がうまくできませんよね。例えば、この行内に該当する文字列が1個、別の行内にも1個あった場合、それらを足して2と表示することはできませんよね。
[1]+[1]~=2

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

回答 (1 件)

Megumi Fukuda
Megumi Fukuda 2021 年 4 月 21 日
編集済み: Megumi Fukuda 2021 年 4 月 21 日
> strfindを使っても、カテゴリー配列のルールになるから、その後の演算がうまくできませんよね。例えば、この行内に該当する文字列が1個、別の行内にも1個あった場合、それらを足して2と表示することはできませんよね。
> [1]+[1]~=2
strfindはstring 配列, 文字ベクトル,文字ベクトルの cell 配列に対して利用できます。strfindを利用して文字列の出現回数を数えたい場合、このように書くことができると思います。
letters = ['R','G','B','B','G','B'];
str_idx=strfind(letters, 'G');
str_count = length(str_idx);
入力にカテゴリカル配列を使いたいという場合は、別の方法を検討されると良いかと思います。

カテゴリ

Help Center および File Exchange文字と文字列 についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!