c#regex替换所有内容,包括单词base64,不使用任何内容,保留字符串的其余部分
我想取一个字符串,找到c#regex替换所有内容,包括单词base64,不使用任何内容,保留字符串的其余部分,c#,regex,string,C#,Regex,String,我想取一个字符串,找到base64,,然后去掉它和之前的所有内容 范例 “ASDFJLKJALDF_基地64234U09092309480982340823082304802384023094” 请注意“base64”。。。我只想要“base64”之后的一切 期望值:“234u0909230948098234082304802384023094” 我在看这个代码 “string test=“你好,base64,匹配” 但这并不是我想要的。您尝试了一个与test匹配的正则表达式、一个空格和1+字字
base64,
,然后去掉它和之前的所有内容
范例
“ASDFJLKJALDF_基地64234U09092309480982340823082304802384023094”
请注意“base64”。。。我只想要“base64”之后的一切
期望值:“234u0909230948098234082304802384023094”
我在看这个代码
“string test=“你好,base64,匹配”
但这并不是我想要的。您尝试了一个与
test
匹配的正则表达式、一个空格和1+字字符。输入字符串与之不匹配
你可以用
var results = Regex.Matches(s, @"base64,(\w+)")
.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToList();
var results=Regex.Matches(s,@“base64,(\w+))
.Cast()
.Select(m=>m.Groups[1]。值)
.ToList();
看
模式匹配
base64、
子字符串,然后使用(\w+)
模式将一个或多个单词字符捕获到组1中。捕获的值存储在match.Groups[1]中。值
,与得到的值相同。选择(m=>m.Groups[1].value)
您尝试了一个与测试
匹配的正则表达式、一个空格和1+字字符。输入字符串与之不匹配
你可以用
var results = Regex.Matches(s, @"base64,(\w+)")
.Cast<Match>()
.Select(m => m.Groups[1].Value)
.ToList();
var results=Regex.Matches(s,@“base64,(\w+))
.Cast()
.Select(m=>m.Groups[1]。值)
.ToList();
看
模式匹配base64、
子字符串,然后使用(\w+)
模式将一个或多个单词字符捕获到组1中。捕获的值存储在match.Groups[1]中。值
,与得到的值相同。选择(m=>m.Groups[1].value)
为什么使用正则表达式?索引+子字符串
似乎已经足够了:
string source = "asdfjljlkjaldf_base64,234u0909230948098234082304802384023094";
string tag = "base64,";
string result = source.Substring(source.IndexOf(tag) + tag.Length);
为什么使用正则表达式?IndexOf
+Substring
似乎已经足够了:
string source = "asdfjljlkjaldf_base64,234u0909230948098234082304802384023094";
string tag = "base64,";
string result = source.Substring(source.IndexOf(tag) + tag.Length);
其他一些答案很好。下面是一个非常简单的正则表达式
string yourData = "asdfjljlkjaldf_base64,234u0909230948098234082304802384023094";
var newString = Regex.Replace(yourData, "^.*base64,", "");
其他一些答案很好。下面是一个非常简单的正则表达式
string yourData = "asdfjljlkjaldf_base64,234u0909230948098234082304802384023094";
var newString = Regex.Replace(yourData, "^.*base64,", "");
类似于?您在代码-
Regex.Matches(base64,regexStrTest)
中有一个额外的逗号。此外,您需要使用@“base64,(\w+)
Regex和grabmatch.Groups[1]。Value
。您的字符串真的包含多个预期的子字符串吗?类似于?您在代码-Regex.Matches中有一个额外的逗号(base64,regexStrTest)
。此外,您需要使用@“base64,(\w+)
regex和grabmatch.Groups[1].Value
。您的字符串是否真的包含多个预期的子字符串?如果存在多个预期的匹配项怎么办?并且base64
大小写使用不一致?并且在base64
之后有像?%$^&
这样的字符?@Wiktor Stribiżew:这些情况(许多匹配项和不正确的字符)应该在问题中指定。在当前情况下,正如所解释的“查找base64,
,并除去它和它之前的所有内容”,然后“…注意“base64,
…我只想要“base64,
之后的所有内容”。。。“这是一个可能的解决方案。不,在当前问题中有Regex.Matches
-这提取了模式的多个匹配项。OP预期会有多个结果。@WiktorStribiżew:这些约束都不在问题中。@Douglas:看看代码。这在代码中(更准确地说,Regex.Matches
)。如果有多个预期匹配项?并且不一致地使用了base64
大小写?并且base64
之后有像?%$^&
这样的字符?@Wiktor Stribiżew:这些情况(许多匹配项和不正确的字符)应该在问题中指定。在当前情况下,正如所解释的那样“找到base64,
并除去它和它之前的所有内容”,然后“…注意base64,
…我只想要base64,
之后的所有内容。”。。。“这是一个可能的解决方案。不,在当前问题中有Regex.Matches
-这提取了模式的多个匹配项。OP预期会有多个结果。@WiktorStribiżew:这些约束都不在问题中。@Douglas:看看代码。这在代码中(更准确地说,Regex.Matches
)。