如何删除第一个文本?(c#)

如何删除第一个文本?(c#),c#,regex,replace,split,C#,Regex,Replace,Split,我想编码 var text = "14. hello my friends we meet 1 test, 2 baby 3 wiki 4 marvel"; string[] split = text.Split('14.', 1, 2, 3, 4); var needText = split[0].Replace('14.', ''); “1”“2”“3”“4”是静态文本 但是,“14”是动态文本 ex) 如果您有这样的动态分隔符,String.Split不适用。改用Regex.Split

我想编码

var text = "14. hello my friends we meet 1 test, 2 baby 3 wiki 4 marvel";
string[] split = text.Split('14.', 1, 2, 3, 4);
var needText = split[0].Replace('14.', '');
“1”“2”“3”“4”是静态文本

但是,“14”是动态文本

ex)


如果您有这样的动态分隔符,
String.Split
不适用。改用
Regex.Split

您可以为
Regex.Split
指定一个模式,它将把与该模式匹配的每个子字符串作为分隔符

在这种情况下,您需要这样的模式:

\d+\. |1|2|3|4
|
运算符<代码>\d
匹配任何数字字符<代码>+
表示1到无限次之间的匹配
\.
逐字匹配点,因为
在正则表达式中有特殊含义

用法:

var split = Regex.Split(text, "\\d+\\. |1|2|3|4");
我认为您需要的文本位于
split
的索引1处

请记住将using指令添加到
System.Text.RegularExpressions

如果将
IndexOf()
Substring()
一起使用,您可以非常轻松地获取所需的信息。如果它比您的示例更复杂,那么使用正则表达式

var text = "14. hello my friends we meet 1 test, 2 baby 3 wiki 4 marvel";
var strArr = text.Substring(text.IndexOf(' ')).Split('1', '2', '3', '4');

“.”是否总是在第一个数字之后?请参见:
var text = "14. hello my friends we meet 1 test, 2 baby 3 wiki 4 marvel";
var strArr = text.Substring(text.IndexOf(' ')).Split('1', '2', '3', '4');