发布于 5年前
C# 如何获取字符串中某段字符
问题描述
C#
获取字符串中某段字符,写一个方法
(参数1 字符串内容,参数2,参数1中的起始字符,参数3 参数1中的结束字符)
举例:
string str = "爸爸给我买了一盆仙人掌,它的刺可扎手了!但是它圆的像太阳。我每天给它浇水,我可喜欢它了!我还用一个漂亮的盆子来养它。我妈妈还特地为它买一些营养土。我真喜欢仙人掌。";
方法:(str,"爸爸",“仙人掌”);
输出:给我买了一盆
解决方案
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace HelloWorldApplication
{
class HelloWorld
{
static string 方法(string str, string s1, string s2)
{
string esc = "\\()[]-=+*,.\"'!^$?<>{}";
foreach (var item in esc)
{
s1 = s1.Replace(item.ToString(), "\\" + item.ToString());
s2 = s2.Replace(item.ToString(), "\\" + item.ToString());
}
string pattern = string.Format("(?<={0}).*?(?={1})", s1, s2);
return Regex.Match(str, pattern, RegexOptions.Multiline).Value;
}
static void Main(string[] args)
{
string str = "爸爸给我买了一盆仙人掌,它的刺可扎手了!但是它圆的像太阳。我每天给它浇水,我可喜欢它了!我还用一个漂亮的盆子来养它。我妈妈还特地为它买一些营养土。我真喜欢仙人掌。";
string result = 方法(str,"爸爸", "仙人掌");
Console.WriteLine(result);
}
}
}