gpt4 book ai didi

字符串上的 C# 正则表达式

转载 作者:行者123 更新时间:2023-11-30 14:21:21 25 4
gpt4 key购买 nike

所以我试图在一个字符串中找到一个字符串,现在我已经在其中构建了这个,

string str4;

var str5 = " type: '");
foreach (string str6 in response.Split(new char[] { '\n' }))
{
if (str6.StartsWith(str5))
{
str4 = str6.Replace(str5, "").Replace(" ", "").Replace("',", "");
break;
}
}

它按预期工作并且将从

中获取文本
type: '

例子是

type: ' EXAMPLE ',

循环后输出

EXAMPLE

现在的问题是“type:”开头的空格偶尔会有所不同,所以有时它可能等于我提供的空格,而其他时候可能不一样..

我正在尝试使用正则表达式,所以我可以做一些事情,例如,

string str5 = "Regex(*)type: '"

当然,就用法而言,这是完全不正确的,但我的示例显示了 * 的使用,它等于任何可能性,因此无论空格的数量如何,我仍然可以从中提取内部文本类型。

最佳答案

这里我们只需在所需输出前后添加可选空格,例如 Example,我们可以从这个表达式开始,例如:

type:(\s+)?'(\s+)?(.+?)(\s+)?',

Demo

或者:

type:(\s+)?'(\s+)?(.+?)(\s+)?'

如果我们可能有 ' 类型,我们会将表达式扩展为:

type:(\s+)?['"](\s+)?(.+?)(\s+)?['"]

测试

using System;
using System.Text.RegularExpressions;

public class Example
{
public static void Main()
{
string pattern = @"type:(\s+)?'(\s+)?(.+?)(\s+)?',";
string input = @"type:' EXAMPLE ',
type: ' EXAMPLE ',
type: ' EXAMPLE ',
type: ' Any other EXAMPLE we might have ',";
RegexOptions options = RegexOptions.Multiline;

foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}

正则表达式电路

jex.im可视化正则表达式:

enter image description here

关于字符串上的 C# 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56528633/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com