草庐IT

c# - HTML 敏捷包 - 在不删除内容的情况下删除不需要的标签?

我在这里看到了一些相关的问题,但它们并没有完全谈论我面临的同一个问题。我想使用HTMLAgilityPack从我的HTML中删除不需要的标签而不丢失标签中的内容。例如,在我的场景中,我想保留标签“b”、“i”和“u”。对于这样的输入:myparagraphandmydivareitalicandbold生成的HTML应该是:myparagraphandmydivareitalicandbold我尝试使用HtmlNode的Remove方法,但它也删除了我的内容。有什么建议吗? 最佳答案 我根据Oded的建议编写了一个算法。这里是。就像

c# - 我可以在不抛出异常的情况下测试正则表达式在 C# 中是否有效吗

我允许用户输入一个正则表达式来匹配IP地址,用于在相关系统中进行IP过滤。我想验证输入的正则表达式是否有效,因为很多用户会搞砸操作,尽管是出于好意。我当然可以在try/catch中执行Regex.IsMatch()并查看它是否以这种方式爆炸,但是有没有更聪明的方法来做到这一点?速度本身不是问题,我只是更愿意避免无缘无故地抛出异常。 最佳答案 我认为在这种情况下异常(exception)是可以的。只要确保短路并消除你能做到的异常:privatestaticboolIsValidRegex(stringpattern){if(strin

c# - 在不声明所有可能的组合的情况下打开 Enum(带有 Flags 属性)?

我如何打开一个设置了flags属性(或更准确地说用于位操作)的枚举?我希望能够在与声明的值相匹配的开关中命中所有情况。问题是如果我有以下枚举[Flags()]publicenumCheckType{Form=1,QueryString=2,TempData=4,}我想使用这样的开关switch(theCheckType){caseCheckType.Form:DoSomething(/*Sometypeofcollectionispassed*/);break;caseCheckType.QueryString:DoSomethingElse(/*Someothertypeofcoll

c# - 在不抛出异常的情况下测试字符串是否为 guid?

我想尝试将字符串转换为Guid,但我不想依赖捕获异常(出于性能原因-异常代价高昂出于可用性原因-弹出调试器出于设计原因-预期并不异常(exception)换句话说代码:publicstaticBooleanTryStrToGuid(Strings,outGuidvalue){try{value=newGuid(s);returntrue;}catch(FormatException){value=Guid.Empty;returnfalse;}}不合适。我会尝试使用RegEx,但由于guid可以用括号包裹、大括号包裹、不包裹,所以很难。此外,我认为某些Guid值无效(?)更新1Chri

c# - 在不迭代的情况下计算 IEnumerable<T> 中的项目?

privateIEnumerableTables{get{yieldreturn"Foo";yieldreturn"Bar";}}假设我想对这些进行迭代并编写类似处理#nof#m的内容。有没有一种方法可以在我的主迭代之前无需迭代就可以找出m的值?我希望我说清楚了。 最佳答案 IEnumerable不支持这个。这是设计使然。IEnumerable使用惰性评估在您需要之前获取您要求的元素。如果你想知道项目的数量而不用遍历它们,你可以使用ICollection,它有一个Count属性(property)。

javascript - 在不提交表单的情况下触发自动完成

我正在编写一个非常简单的网络应用程序,其中包含三个文本输入。输入用于生成结果,但所有工作都是在Javascript中完成的,因此无需提交表单。我正在尝试找到一种方法让浏览器存储自动完成的输入值,就像它们在提交的表单中一样。我试过手动输入autocomplete="on",但没有提交表单,浏览器无法知道何时应该存储这些值,所以这没有效果。我也曾尝试将输入包装在具有onSubmit="returnfalse;"的表单中,但阻止表单实际提交似乎也会阻止浏览器存储其输入值。当然可以手动使用localStorage或cookie来保存输入,然后从中生成自动完成提示,但我希望找到一种解决方案,利用

javascript - 我可以在不手动跟踪模糊事件的情况下将表单输入绑定(bind)到 Backbone.js 中的模型吗?

我有一个backbone.js应用程序(www.github.com/juggy/job-board),我想在其中将我的表单输入直接绑定(bind)到我的模型(laSproutcore)。是否可以使用Backbone.js(或其他工具)而不实际跟踪输入上的每个模糊事件并手动更新模型?这看起来像是很多胶水代码。谢谢,朱利安 最佳答案 如果您的模型中包含很多属性,还有一种更好的方法来处理这个问题。SampleView=Backbone.View.extend({el:"#formEl",events:{"changeinput":"ch

javascript - 在不引起重定向的情况下向 URL 添加片段?

有没有办法在不重定向的情况下将哈希#添加到我的URL? 最佳答案 window.location.hash='something';那只是普通的JavaScript。你的评论...Hi,whatIreallyneedistoaddonlythehash...somethinglikethis:window.location.hash='#';butinthiswaynothingisadded.试试这个...window.location='#';此外,不要忘记window.location.replace()方法。

javascript - 在不重新加载 Angular 2 的情况下更改路由参数

我正在使用Angular2、Googlemap等制作一个房地产网站,当用户更改map的中心时,我会搜索API以指示map的当前位置和半径。问题是,我想在不重新加载整个页面的情况下在url中反射(reflect)这些值。那可能吗?我找到了一些使用AngularJS1.x的解决方案,但没有找到关于Angular2的解决方案。 最佳答案 从RC6开始,您可以执行以下操作来更改URL而无需更改状态,从而保留您的路由历史记录import{OnInit}from'@angular/core';import{Location}from'@angu

javascript - 在不重新加载页面的情况下修改查询字符串

我正在创建一个照片库,并希望能够在浏览照片时更改查询字符串和标题。我正在寻找的行为经常在连续/无限页面的某些实现中看到,当您向下滚动时,查询字符串不断增加页码(http://x.com?page=4)等。这在理论上应该很简单,但是我想要在主要浏览器中安全的东西。我找到了thisgreatpost,并试图按照window.history.pushstate的示例进行操作,但这似乎对我不起作用。而且我不确定它是否理想,因为我真的不关心修改浏览器历史记录。我只想提供为当前查看的照片添加书签的功能,而无需在每次更改照片时重新加载页面。这是修改查询字符串的无限页面示例:http://tumble