说说我的思路吧,在python中以下两行代码可实现你说的需求:
start_position = re.search('\w{2}小雪',string).span()[0]
newstring = string[start_position : ]
说明:第一条语句是通过正则表达式匹配到‘不是小雪’,找到起始位置;第二条语句是利用切片方法截取到最后,得到所需子字符串。在C#里面也是类似的,可先利用正则找到‘不是小雪’这个字符串的位置,然后利用Substring等方法截取所需的子字符串。
你看一下,这个应该就是你需要。即使1楼朋友的思路用C#的实现。
class Program
{
static void Main(string[] args)
{
string newStr = SubStr("他们 你们 我们 不是小雪 是小红 是小绿 不是小蓝", "小雪");
Console.WriteLine(newStr);
Console.ReadLine();
}
public static string SubStr(string str, string substr)
{
var position = str.IndexOf(substr);
string newStr = str.Substring(position);
return newStr;
}
}
用正则表达式
C#
var str="他们 你们 我们 不是小雪 是小红 是小绿 不是小蓝";
var reg="[^\s]*小雪.*";
var result= System.Text.RegularExpressions.Regex.Match(str,reg).Value;
先用空格拆分数组,然后把包含小雪的下标和后面的,再拼接在一起返回
java用split方法,从“我们”开始分割。
用空格分割,或者空格替换成逗号,再分割成字符串数组,能满足你的需求吗