我可能刚刚达到了这样的地步:我过度思考它,但我想知道:有没有办法指定一个特殊字符列表,应该都被认为是分隔符,然后使用该列表分割字符串?例如:
"battlestar.galactica-season 1"
应该以
的形式返回battlestar galactica season 1
我正在考虑正则表达式,但此刻我有点心慌,长时间盯着它。
编辑: 谢谢你们确认我怀疑我是在过度思考大声笑:这就是我最终的结果:
//remove the delimiter
string[] tempString = fileTitle.Split(@"\/.-<>".ToCharArray());
fileTitle = "";
foreach (string part in tempString)
{
fileTitle += part + " ";
}
return fileTitle;
我想我可以用“”空格替换分隔符......我会在计时器启动后立即选择答案!
答案 0 :(得分:7)
内置String.Split
方法可以将一组字符作为分隔符。
string s = "battlestar.galactica-season 1";
string[] words = s.split('.', '-');
答案 1 :(得分:2)
标准split method为您做到了这一点。它需要一系列字符:
public string[] Split(
params char[] separator
)
答案 2 :(得分:2)
你可以调用split的重载:
myString.Split(new char[] { '.', '-', ' ' }, StringSplitOptions.RemoveEmptyEntries);
char数组是要拆分的分隔符列表。
答案 3 :(得分:1)
"battlestar.galactica-season 1".Split(new string[] { ".", "-" }, StringSplitOptions.RemoveEmptyEntries);
答案 4 :(得分:0)
这可能不完整,但是像这样。
string value = "battlestar.galactica-season 1"
char[] delimiters = new char[] { '\r', '\n', '.', '-' };
string[] parts = value.Split(delimiters,
StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < parts.Length; i++)
{
Console.WriteLine(parts[i]);
}
答案 5 :(得分:0)
您是在尝试拆分字符串(创建多个字符串)还是只想用空格替换特殊字符,例如您也可以建议(制作1个更改的字符串)。 对于第一个选项,只需看到其他答案:)
如果您想替换,可以使用
string title = "battlestar.galactica-season 1".Replace('.', ' ').Replace('-', ' ');
答案 6 :(得分:0)
有关使用简单示例拆分的更多信息,您可能会看到以下网址:
这还包括分词(多个字符)。 C# Split Function explained