我有这个字符串:
"My name is Marco and I'm from Italy"
我想拆分它,分隔符是Marco and,所以我应该得到一个数组
我的名字在[0]和 我来自意大利[1]。
我怎么用c#来做呢?
我试过:
.Split("is Marco and")
但它只需要一个char。
我有这个字符串:
"My name is Marco and I'm from Italy"
我想拆分它,分隔符是Marco and,所以我应该得到一个数组
我的名字在[0]和 我来自意大利[1]。
我怎么用c#来做呢?
我试过:
.Split("is Marco and")
但它只需要一个char。
当前回答
您可以使用IndexOf方法获取字符串的位置,并使用该位置和搜索字符串的长度拆分字符串。
也可以使用正则表达式。一个简单的谷歌搜索结果是这样的
using System;
using System.Text.RegularExpressions;
class Program {
static void Main() {
string value = "cat\r\ndog\r\nanimal\r\nperson";
// Split the string on line breaks.
// ... The return value from Split is a string[] array.
string[] lines = Regex.Split(value, "\r\n");
foreach (string line in lines) {
Console.WriteLine(line);
}
}
}
其他回答
试试这个函数。
string source = "My name is Marco and I'm from Italy";
string[] stringSeparators = new string[] {"is Marco and"};
var result = source.Split(stringSeparators, StringSplitOptions.None);
您可以使用IndexOf方法获取字符串的位置,并使用该位置和搜索字符串的长度拆分字符串。
也可以使用正则表达式。一个简单的谷歌搜索结果是这样的
using System;
using System.Text.RegularExpressions;
class Program {
static void Main() {
string value = "cat\r\ndog\r\nanimal\r\nperson";
// Split the string on line breaks.
// ... The return value from Split is a string[] array.
string[] lines = Regex.Split(value, "\r\n");
foreach (string line in lines) {
Console.WriteLine(line);
}
}
}
.Split(new string[] { "is Marco and" }, StringSplitOptions.None)
想想“是马可和”周围的空间。您希望在结果中包含空格,还是希望删除它们?很有可能你想用" is Marco and "作为分隔符…
阅读c#分割字符串示例-点Net珍珠和解决方案可以是这样的:
var results = yourString.Split(new string[] { "is Marco and" }, StringSplitOptions.None);
有一个版本的字符串。Split,接受一个字符串数组和StringSplitOptions参数:
http://msdn.microsoft.com/en-us/library/tabh47cf.aspx