如何在包含'Or'的字符串中获取文本之前和之后



我想要一个代码,它接受一个包含'Or'的字符串,并在'Or'之前和之后接受文本,并将其存储在单独的变量中

我尝试了子字符串函数

var text = "Actor or Actress";
var result= text.Substring(0, text.LastIndexOf("or"));

但由于这是唯一的演员,我想要演员和演员,但作为一个整体,在单独的变量中,所以它可以是任何代替"演员或女演员"的东西

您需要使用String.Split的一种风格,它接受字符串分隔符数组:

string text = "Actor or Actress";
string[] delim = new string[] { " or " };   // add spaces around to avoid spliting `Actor` due to the `or` in the end
string[] elements = text.Split(delim, StringSplitOptions.None);
foreach (string elem in elements)
{
Console.WriteLine(elem);
}

输出:

Actor
Actress

注意:我使用的是.NET framework 4.8,但.NET 6也有一个接受单个string分隔符的String.Split重载,因此不需要将delim创建为字符串数组,除非您希望能够根据" Or "" or "等变体进行拆分。

Split((应该完成的工作

text.Split(“or”);

使用Split((方法

var text = "Actor or Actress";
Console.WriteLine(text.Split("or")[0]);
Console.WriteLine(text.Split("or")[1]);

输出

Actor 
Actress

尝试这个

string[] array = text.Split(' ');
foreach (string item in array)
{
if (item != "or")
{
Console.WriteLine(item);
}
}

输出

Actor 
Actress

最新更新