C #: Как я могу вырезать строку на основе значения? - PullRequest
2 голосов
/ 18 марта 2011

У меня есть эта строка:

value1*value2*value3*value4

Как бы разрезать строку в несколько строк?

string1 = value1;
string2 = value2;
etc...

Мой путь (и, вероятно, не очень хороший способ): я берумассив со всеми индексами символа "*", и после этого я вызываю метод subString, чтобы получить то, что мне нужно.

Ответы [ 6 ]

3 голосов
/ 18 марта 2011
string valueString = "value1*value2*value3*value4";
var strings = valueString.Split('*');
string string1 = strings[0];
string string2 = strings[1];
...

Подробнее здесь .

2 голосов
/ 18 марта 2011
string s = "value1*value2*value3*value4";
string[] array = s.Split('*');
2 голосов
/ 18 марта 2011

Попробуйте это

string string1 = "value1*value2*value3*value4";
var myStrings = string1.Split('*');
2 голосов
/ 18 марта 2011

просто:

 string[] parts = myString.Split("*");

части будут массивом строк (string[])

0 голосов
/ 18 марта 2011

Если вы хотите светить в обществе, вы также можете использовать динамический код:

using System;
using System.Dynamic;

namespace ConsoleApplication1
{
    class DynamicParts : System.Dynamic.DynamicObject
    {
        private string[] m_Values;

        public DynamicParts(string values)
        {
            this.m_Values = values.Split('*');
        }
        public override bool TryGetMember(GetMemberBinder binder, out object result)
        {
            var index = Convert.ToInt32(binder.Name.Replace("Value", ""));
            result = m_Values[index - 1];
            return true;
        }


        public static void Main()
        {

            dynamic d = new DynamicParts("value1*value2*value3*value4");

            Console.WriteLine(d.Value1);
            Console.WriteLine(d.Value2);
            Console.WriteLine(d.Value3);
            Console.WriteLine(d.Value4);

            Console.ReadLine();
        }
    }
}
0 голосов
/ 18 марта 2011

Вы можете просто использовать метод Split () объекта String следующим образом:

String temp = "value1*value2*value3*value4";
var result = temp.Split(new char[] {'*'});

Переменная результата представляет собой строку [] с четырьмя значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...