我有一个字符串模式,其中包含一个ID和Text,以便我们的员工更容易进行标记。
创造一个"花式"我们的CMS中的按钮是:
(button_section_ID:TEXT)
示例:
(button_section_25:这是一个花哨的按钮)
如何提取"这是一个花哨的按钮"这种模式的一部分?模式将始终相同。我试着做一些子串的东西,但这很复杂很快。
非常感谢任何帮助!
答案 0 :(得分:1)
如果文本始终采用您指定的格式,则只需修剪括号,然后用:
分割:
var res = input.Trim('(', ')').Split(':')[1];
如果字符串是子字符串,请使用正则表达式:
var match = Regex.Match(input, @"\(button_section_\d+:([^()]+)\)");
var res = match.Success ? match.Groups[1].Value : "";
请参阅this regex demo。
<强>解释强>
\(button_section_
- 文字(button_section_
\d+
- 一位或多位:
- 冒号([^()]+)
- 第1组捕获除(
和)
以外的1个以上字符(您可以替换为([^)]*)
以使匹配更安全并允许空字符串{{{ 1}}在这个值里面)(
)`答案 1 :(得分:0)
以下.NET正则表达式将为您提供包含具有所需文本的组的匹配项:
var match = Regex.Matches(input, @"\(button_section_..:(.*)\)");
大括号定义了一个匹配组,它将为您提供按钮部分和最终大括号之间的所有内容。