【问题标题】:Match all of desired characters in string even when they are not next to each other匹配字符串中所有需要的字符,即使它们不相邻
【发布时间】:2016-09-14 20:40:23
【问题描述】:

我正在遍历一个单词列表,我需要找到包含所有所需字符的单词。我知道如何查找子字符串,但可以找到字符相邻的单词。我想创建一些东西来确定字符串是否包含所有字符,即使它们不相邻。

例如,如果我有一个字符串“ent”,那么列表中的单词“element”、“nintendo”、“telephone”就会出现。

我目前有这样的逻辑:

String textLine = "element";
Regex regX = new Regex("e|n|t");
bool containsAny = regX.IsMatch(textLine);

如果字符串中存在任何字符,则当前返回 true。我想创建一个正则表达式(或其他任何东西),它将找到匹配所有所需字符的单词。我正在用 C# 写这个。

谢谢!

【问题讨论】:

标签: c# .net regex string char


【解决方案1】:

你可以使用 Linq

var desiredChars = "ent";
var word = "element";
bool contains = desiredChars.All(word.Contains);

【讨论】:

  • 你知道找到至少 3 个而不是全部的方法吗?
  • @EdwinCoronado var count = desiredChars.Count(word.Contains); 或更好的var count = desiredChars.Intersect(word).Count(); :) 顺便说一句:请不要用新的要求来扩展你的问题......考虑提出一个新问题......
猜你喜欢
  • 1970-01-01
  • 2018-08-18
  • 1970-01-01
  • 2018-08-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多