如何删除第一个文本?(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');