【问题标题】:How to extract a specific text from a string. The hard part is the desired text changes periodically如何从字符串中提取特定文本。困难的部分是所需的文本会定期更改
【发布时间】:2016-03-25 01:15:52
【问题描述】:

我有一个 HTML 文档,其中包含此文本

function deleteFolder() {
        var mailbox = "CN=John Urban,OU=Sect-1,DC=TestServer ,DC=acme,DC=com";
        var path = "/Inbox/";

//string of interest: "CN=John Urban,OU=Sect-1,DC=TestServer ,DC=acme,DC=com"

我只想提取此文本并将其存储在 C# 中的变量中。我的问题是每次加载页面时感兴趣的字符串都会略有变化,如下所示:

  • "CN=John Urban,OU=Sect-1,DC=TestServer ,DC=acme,DC=com"
  • "CN=Jane Doe,OU=Sect-1,DC=TestServer ,DC=acme,DC=com"
  • 等等……

如何在不使用正则表达式的情况下提取不断变化的字符串?

【问题讨论】:

  • 没有正则表达式?为什么以上帝的名义?
  • @JonathanBrooks 有人告诉我不要使用正则表达式,除非我必须这样做。我想知道是否有办法,比如内置函数。
  • 你能改变那个删除功能吗?我会进行 ajax 调用并存储它,或者使用该值设置一个隐藏字段,以便我可以从后端获取它。
  • @JonathanBrooks 我只是一名初级软件开发人员,遇到了一个难题。
  • @AAlferez 我无法控制前端。这是遗留代码。

标签: javascript c# html string


【解决方案1】:

它总是一个函数deleteFolder(),它的第一行是var mailbox = "somestring"吗?你对somestring感兴趣吗?

根据您告诉我们的要求,可以只在包含 HTML 的字符串中搜索 var mailbox =",然后再搜索下一个 ",并获取这两次出现之间的所有文本。

var htmlstring= "..."; //
var i1 = htmlstring.IndexOf("var mailbox = \"");
var i2 = i1 >= 0 ? htmlstring.IndexOf("\"", i1+15) : -1;
var result = i2 >= 0 ? htmlstring.Substring(i1+15, i2-(i1+15)): "not found";

非常,非常丑陋,不可维护,但没有更多信息,我不能做得更好。不过 Regex 会好很多!

【讨论】:

  • 天哪!经过一些细微的调整,它可以完美运行。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
  • 1970-01-01
  • 2021-04-28
  • 2019-07-12
  • 2022-09-23
  • 1970-01-01
相关资源
最近更新 更多