2

特定の番号と一致させたい文字列にカンマ区切りの番号がいくつかあります。例の文字列 "18, 34, 22, 9, 2, 56" の場合、数字 "2" に一致させたいのですが、22 の 2 つの "2" には一致させたくありません。どうすれば取得できますか?

4

4 に答える 4

1

ほとんどのプログラム言語で提供されている通常の文字列関数を使用して、正規表現なしで解決できます。たとえば、Python での 1 つのソリューション。最初と最後にコンマを追加します。

s=", 18, 34, 22, 9, 2, 56,"
s.find(', 2,')

検索文字列が見つからない場合、関数は -1 を返します。正規表現を主張する場合、パターンは同じように見える可能性があります。

于 2012-08-04T13:04:59.390 に答える
1

この正規表現を使用して、値\b2\bに置き換え2ます

于 2012-08-04T12:40:02.470 に答える
0

これは最善の方法ではないかもしれませんが、次のような方法を試すことができます

                string NUmbers= "18,22,34,52";
                string[] NewNos=NUmbers.Split(',');

                for(int i=0;i<NewNos.Length;i++)
                {
                    if(NewNos[i].ToString().Contains("2"))
                    {
                    //do whatever you want

                    }
                }
于 2012-08-04T12:44:26.737 に答える
0

あなたはgrepを使うことができます

echo "18, 34, 22, 9, 2, 56" | grep -E -o "^2,| 2,| 2$"

カンマ区切りの数字文字列で検索する任意の数字でgrep正規表現の「2」を置き換えます

于 2012-08-04T13:14:12.880 に答える