所以我通过我在此处发布的另一个问题的代码从网站获取字符串。当我将它放入丰富的文本框中时,这非常有效,但是,现在我需要将字符串拆分为列表/数组中的单独句子(假设列表会更容易,因为您不需要确定输入的长度将会)。
昨天在另外一个问题上发现了如下代码(没注意问题,sorry):
List<string> list = new List<string>(Regex.Split(lyrics, Environment.NewLine));
但输入现在分为两部分,前三个句子和其余部分。
我使用以下代码从 musixmatch.com
检索文本(为简单起见添加了固定的 url):
var source = "https://www.musixmatch.com/lyrics/Krewella/Alive";
var htmlWeb = new HtmlWeb();
var documentNode = htmlWeb.Load(source).DocumentNode;
var findclasses = documentNode
.Descendants("p")
.Where(d => d.Attributes["class"]?.Value.Contains("mxm-lyrics__content") == true);
var text = string.Join(Environment.NewLine, findclasses.Select(x => x.InnerText));
可以找到有关此代码的更多信息 here .简而言之,它的作用是检索其中包含歌词的特定 html。 我需要逐行拆分歌词以用于我正在构建的同步过程(就像之前在 Spotify 中内置的一样)。我需要一些我可以索引的东西(最好是列表/数组),因为这会使数据库存储所有这些数据更小一些。 在此过程中我应该使用什么?
编辑: 回答可能重复的标记: C# Splitting retrieved string to list/array
最佳答案
你可以同时拆分:
var lines = string.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
关于C# 将检索到的字符串拆分为列表/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41164659/