-3

myString 内の任意の要素のインスタンスが何かに含まれているかどうかを確認します。何かが「Sideboard: 1 Forest」、「SB: 1 Mountain」、「SB 1 Plains」などの場合があります。何かに配列の要素が含まれている場合、それらの要素の後には常に空白と数字が続きます。 、空白、および文字列: " 1 Swamp".

string[] myString = {"Side", "side", "Board", "board", "Sideboard", "sideboard", "SB", "sb", "SB:", "sb:"};

if(myString.Any(s => something.Contains(s)))
{
    // newSomething = something but with any instance of any element in myString removed
    // from the start of something up to the first whitespace.
}

上記の if ステートメント ブロックのコメントの一部を削除するのに助けが必要です。

編集

ぶっきらぼうな回答ですが、了解です!

私は紹介を見て、関連するものを検索しようとしましたが、この状況を見つけることができませんでした. これは私が課題用ではなく個人用に作成した小さなプログラムです。正規表現については何も知りません。

明確にするために、「何か」が「myString」配列の要素のいずれかを含むことが判明したプログラムのポイントで、「何か」の文字列の先頭からのみそれらの要素を削除したいと考えています。

例: something = "サイドボード: 1 インサイド アウト"

数字の後の文字列にも「myString」の要素が含まれている可能性があるため、文字列の先頭と数字の前からのみ「myString」要素を削除したいと考えています。

また、この質問を送信すると、削除を行う方法がすぐにわかりました。「myString」の要素の個々の文字を含む配列で TrimStart() を使用しただけです。これは私が望んでいたことでしたが、よりエレガントな解決策を探すためにこの質問を続けました. したがって、すべての意図と目的のために、この質問はすでに回答されています。

助けてくれてありがとう!

4

1 に答える 1

0
string newSomething = something.Substring(0, something.IndexOf(' '));

上記のコードは、「something」文字列のスペースの最初のインスタンスで終わる文字列を返します。'something'文字列にスペースがない場合、例外が発生します。

これがあなたが探していたものであるかどうかわからない、頑張ってください。

于 2013-02-21T16:59:04.933 に答える