【问题标题】:How do I count multiple placeholders in a String in C#?如何在 C# 中计算字符串中的多个占位符?
【发布时间】:2022-01-20 17:12:12
【问题描述】:

给出的是string str'Hello <name1>, hello <name2> and hello <name3>'

<nameX>s 是占位符。如何计算此字符串中不同占位符的数量?

【问题讨论】:

  • 向我们展示您到目前为止所做的事情。 Stack Overflow 不是免费的代码编写服务。您应该尝试自己编写代码。在doing more research 之后,如果您有问题,您可以发布您尝试过的内容,并清楚说明哪些内容不起作用并提供Minimal, Complete, and Verifiable example
  • @RomanMarusyk 是的,你说得对,如果我有想法,我会分享的。但正如你所见,我自己找到了解决方案。无论如何,感谢您让 stackoverflow 变得更好。

标签: c# string counting


【解决方案1】:

如果您想要一个更通用的解决方案来处理从任意数字开始的占位符,并且中间可能有间隙,使用正则表达式非常容易:

Regex.Matches(s, @"<name\d+>").Count

这将返回任何占位符的数量。通过不同的占位符过滤它也很容易:

Regex.Matches(s, @"<name\d+>").Select(m => m.Value).Distinct().Count() 

【讨论】:

  • 我试过了,是的,它有效,除了它计算占位符的数量,但我需要不同占位符的数量。因此,在此字符串中使用 两次仍应返回 1。
  • 我也添加了不同的版本!
  • 完美,谢谢!
猜你喜欢
  • 2010-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-02
  • 2017-03-23
  • 2011-08-16
  • 1970-01-01
相关资源
最近更新 更多