【问题标题】:How to extract string after a marker?如何在标记后提取字符串?
【发布时间】:2019-12-08 12:27:24
【问题描述】:

我正在开展一个项目,将query 转换为set of files,其中query criteria 由user 输入。

基本上,如果用户输入:

/T"一些文字"

查询将查找包含“某些文本”的任何文件。

如果用户输入:

/T"一些文字" /T"一些其他文字"

查询将查找包含两个或至少一个此类条件的文件。

我对如何执行查询本身有一些想法,但我的问题是我如何在/T 和the quotes 之间进行extract the text。我计划将提取的字符串放入一些数据结构中。

我看到了一些使用 IndexOf 等的例子,但他们基本上会寻找/T 的第一个实例,然后提取其他所有内容。有没有一种方法可以让bounded way 获取此信息,无论是某个类还是implementation of regex?

【问题讨论】:

  • 欣赏您的发现和想法,继续进行,如果您在实施过程中遇到任何具体问题/错误,请返回。自己动手试试,别指望capsule sn-ps
  • String.Split on /T 是否可以为您获取字符串数组?
  • 文本本身可以包含引号吗?如果是这样,你将如何逃脱它们?如果您还没有,您可以考虑使用正则表达式。

标签: c# querying


【解决方案1】:
var input = "/T\"some text\" /T\"some other text\"";
var criterias = input.Split(new[] { "/T\"", "\"" }, StringSplitOptions.None)
                     .Where(x => !string.IsNullOrWhiteSpace(x))
                     .ToList();

【讨论】:

    猜你喜欢
    • 2020-11-26
    • 2021-05-22
    • 2020-11-28
    • 2011-06-07
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    相关资源
    最近更新 更多