-5

私のアプリケーションでは、次のデータを保存する必要があります。

通り、市、州、郵便、国


---サンプルアドレス---

***ストリート:#306、ロサンゼルス、oppラインタワー、3番目のクロス

市/町:アンモーキオ

州:アルメラ

郵便:520506

国:ドバイ


しかし、私の文字列のような意味

"#306、Los Angel、opp Line Tower、3rd cross \ nAng Mo Kio Al-mera 520506 \ nDubai"

上記の文字列から、Street、City、State、Postal、Countryに分割するにはどうすればよいですか。

[注:すべてのフィールドは必須フィールドではなく、空の場合もあります。したがって、空のフィールドの場合、対応するフィールドの空の文字列として値を渡します]

C#変数宣言:string street、city、state、postal、country = string.empty;

上記の元の文字列を対応するc#変数に分割して値を保存するにはどうすればよいですか?

4

3 に答える 3

2

これを試して:

var address = "#306, Los Angel,opp Line Tower,3rd cross\nAng Mo Kio Al-mera 520506\nDubai".Split(new [] {',', '\n' })
var array = address.Split(new [] {',', '\n' })

次に、配列を反復処理して変数を割り当てます。これは新しい行とコンマで分割され、空のフィールドが保持されます(つまり、複数のコンマは問題になりません)

于 2012-11-28T03:09:20.940 に答える
0

C#Split()関数を使用する

string[] add_var=addrString.Split(',');
于 2012-11-28T03:07:26.880 に答える
0
 var address = "#306, Los Angel,opp Line Tower,3rd cross\nAng Mo Kio Al-mera 520506\nDubai".Split(new[] { ',', '\n' });
        var array = Page.Request["Address"].ToString().Split(new[] { ',', '\n' });


        if (array.Count() != 0)
        {
            if (array[array.Count() - 1].ToString() != "") // Country
                sCountry = array[array.Count() - 1].ToString();
            else
                sCountry = "";


            var sTemp = array[array.Count() - 2].ToString().Split(new[] { ' ' });

            if (sTemp.Count() != 0)
            {

                // PostalCode
                if (sTemp[sTemp.Count() - 1].ToString() != "")
                {
                    sPostalCode = sTemp[sTemp.Count() - 1].ToString();
                }
                else
                {
                    sPostalCode = "";
                }

                //State Name
                if (sTemp[sTemp.Count() - 2].ToString() != "")
                {
                    sState = sTemp[sTemp.Count() - 2].ToString();
                }
                else
                {
                    sState = "";
                }

            }
            else
            {
                sPostalCode = "";
                sState = "";
            }

            if (array[array.Count() - 3].ToString() != "") // City
                sCity = array[array.Count() - 3].ToString();
            else
                sCity = "";


            for (int i = 0; i < (array.Count() - 3); i++)  // Street
            {
                sStreet = sStreet + array[i].ToString();
            }

        }
于 2012-11-28T03:40:33.480 に答える