string animals = "cat98dog75";
什麼,我儘量做到:
字符串= 「cat98」;
串B = 「dog75」;
問:
我怎麼分割使用一些範圍分隔字符串?
例如:
animals.split();
string animals = "cat98dog75";
什麼,我儘量做到:
字符串= 「cat98」;
串B = 「dog75」;
問:
我怎麼分割使用一些範圍分隔字符串?
例如:
animals.split();
我建議匹配與正則表達式幫助:
using System.Text.RegularExpressions;
...
string animals = "cat98dog75";
string[] items = Regex
.Matches(animals, "[a-zA-Z]+[0-9]*")
.OfType<Match>()
.Select(match => match.Value)
.ToArray();
string a = items[0];
string b = items[1];
Concole.Write(string.Join(", ", items));
結果:
cat98, dog75
如果你想分裂初始字符串b Ÿ相等大小的塊:
int size = 5;
string[] items = Enumerable
.Range(0, animals.Length/size + (animals.Length % size > 0 ? 1 : 0))
.Select(index => (index + 1) * size <= animals.Length
? animals.Substring(index * size, size)
: animals.Substring(index * size))
.ToArray();
string a = items[0];
string b = items[1];
這就是即時通訊由大小相等的塊找字符串。 – Edulo
@Edulo:下一次,請,更具體:「拆分到字符串數組沒有分隔符」可以在許多不同的方式閱讀。 –
如果要拆分的動物和數量的名稱,請嘗試以下這可能會爲你
string animals = "cat98dog75";
string[] DiffAnimals = Regex.Split(animals, "(?<=[0-9]{2})")
.Where(s => s != String.Empty) //Just to Remove Empty Entries.
.ToArray();
做的伎倆..
我知道它太久......
private static void SplitChars()
{
string animals = "cat98dog75";
Dictionary<string, string> dMyobject = new Dictionary<string, string>();
string sType = "",sCount = "";
bool bLastOneWasNum = false;
foreach (var item in animals.ToCharArray())
{
if (char.IsLetter(item))
{
if (bLastOneWasNum)
{
dMyobject.Add(sType, sCount);
sType = ""; sCount = "";
bLastOneWasNum = false;
}
sType = sType + item;
}
else if (char.IsNumber(item))
{
bLastOneWasNum = true;
sCount = sCount + item;
}
}
dMyobject.Add(sType, sCount);
foreach (var item in dMyobject)
{
Console.WriteLine(item.Key + "- " + item.Value);
}
}
你會得到輸出爲
貓 - 98
狗 - 75
基本上,你得到的類型和數量,所以如果你想使用的計數,你不需要再次分裂......
什麼是你的分隔符? –
您可以使用子。 –
[字符串分割爲具有一定規模的大塊]的可能的複製(http://stackoverflow.com/questions/1450774/splitting-a-string-into-chunks-of-a-certain-size) – Reniuz