我有一个像
这样的字符串string str = "<abc> hello </abc> <abc> world </abc>"
Output in List/Array :
hello
world
现在,我想只提取<abc>
和</abc>
之间的文字。可以有n个abc标签。所以我只想要文本之间
我怎么能这样做。
我尝试过使用split,但它没有给出文本之间的内容。
答案 0 :(得分:7)
您可以使用正则表达式(正则表达式),例如:
string str = "<abc> hello </abc> <abc> world </abc>";
string pattern = "<abc>(.*?)</abc>";
var matches = Regex.Matches(str, pattern);
var result = matches.Cast<Match>().Select(m => m.Groups[1].Value.Trim()).ToArray();
希望这有帮助。
答案 1 :(得分:0)
你可以按空格分割,然后过滤掉你不想要的两个表达式。 然后将您执行的操作添加到列表中。
List<String> list1 = new List<String>();
string str = "<abc> hello </abc> <abc> world </abc>";
string[] array = str.Split(' ');
foreach (string word in array)
{
if (word != "<abc>" && word != "</abc>")
{
list1.Add(word);
}
}