配列の中から特定の文字列の個数を取得する方法

配列の中から特定の文字列の要素数を取得したいと考えております。
例:配列=[りんご、ばなな、りんご]の場合のりんごの要素数は2

「繰り返し(コレクションの各要素)」や「コレクションをフィルター」で別配列に出力すればできることは分かるのですが、一発で取得できる方法があればご教示いただきたいです。

よろしくお願いいたします。

こんにちは

以下お試しください

arrStr.Count(Function(s) s="りんご")

image

Hi @alonica

try the below syntax:

fruits(Array Of String) = {"apple", "banana", "apple"}

Output(Integer DataType) = fruits.Count(Function(fruit) fruit = "apple")

Regards

1 Like

いつもありがとうございます。
サンプルデータで教えていただいた方法で取得できました。

ただ実データの下記の方法ではなぜかできないので何か間違っていたら教えていただきたいです。
▽処理
①PDF内のテキストをすべて取得
②テキストを改行コードで区切り、配列に格納

arrayPDF=strPDFテキスト.Split(VbLf)

③配列から”sample”の要素数を取得

arrayPDF.Count(Function(x) x=“sample”)

デバッグで配列arrayPDFの中をみると下記のように表示されます。

string[3]{@"sample
",@"sample2
",@“sample3”}

普通の配列では

string[3] {“sample”,“sample2”,"sample3”}

と表示されるはずなのでこのあたりが原因なのかと疑っておりますがこの"@"が何を意味するのかも分からないです。
配列の要素は問題なく表示できます。

改行コードがCR+LFなので、各要素にCRが残ったままになっていると思います。
vbCrLFでSplitするか、LF,CRLFどちらが来ても対応できるようにするには以下の式を使用します。

strPDFテキスト.Split(vbcrlf.ToCharArray,StringSplitOptions.RemoveEmptyEntries)
1 Like

ありがとうございます!vbCrLFに変更したらできました!
配列も正しく表示されました。"@"は改行コード関係ということですかね。

これはC#の文法です。詳しくは以下参照ください。

1 Like

ご丁寧に教えていただきありがとうございます。大変勉強になります。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.