Tag: 语言不可知

“词汇的正则表达式”(语义替换) – 任何示例语法和库?

我正在寻找合成示例或常用技术,在给定过程语言的情况下对单词而不是字符进行正则表达式样式转换。 例如,要跟踪复制,可能需要创建具有相似含义但具有不同单词选择的文档。 我希望能够简明地定义我可以应用于文本流的这些可能的转换。 例如。 “快速名词 ”改为“快速名词 ”,但“ 走得快 ”。 不会被改变(之后没有名词。 或者:“爱丽丝会唱歌”到“ 歌曲将由爱丽丝演唱” 我希望这可以在语法检查器中完成,例如检测被动语态。 这种语言处理的AC#实现非常简洁,但我认为任何努力的大部分都是正确的规则 – 保持规则清晰易懂似乎是一个开始的地方。

使用对象列表构建树

我有一个具有属性id和parent_id的对象列表。 我想建一棵树来连接那些孩子和父母。 1父母可能有几个孩子,并且有一个对象将成为所有对象的祖先。 实现它的最快算法是什么? 我使用C#作为编程语言,但其他语言也没问题。

如何在不存储卡片的情况下实施经销商类别?

题 即使只有52张牌,我在“ 解释”部分描述的permutationIndex也是一个巨大的数字; 它是52!一个数字52! ,需要29个字节来存储。 因此, 我不知道计算大范围的permutationIndex的简单方法 ,并以最小成本存储索引,或者也可以计算它。 我在想这个问题的解决方案是三种算法: 一种算法,它计算正确的permutationIndex来实现Dealing方法 一种计算正确permutationIndex以实现Collect方法的算法 一种以最小成本存储(或计算) permutationIndex的算法 说明 我最初尝试使用置换实现一个范围从int.MinVale到int.MaxValue的整数句柄生成器 。 因为范围非常大,所以我从实现一个Dealer类开始, 有52张卡,它们并不真正存储像hashset或array这样的卡片组,甚至不需要随机 (初始除外)。 对于给定范围的序数,我认为其中一个完整排列的每个序列都有一个索引,并将其命名为permutationIndex 。 我使用索引来记住它是哪个排列而不是真正存储序列。 序列是卡片组的可能顺序之一。 这里有一个动画图形模拟示例,以显示我的想法。 每次我发卡时,我都会更改permutationIndex并dealt (已发卡的数量),我知道哪些卡是那些卡,哪些卡还在手中。 当我收回已发卡时,我会知道卡号,并将其放在顶部,它也会成为下次交易的卡。 在动画中, colleted是卡号 。 有关更多信息,请按以下方式 代码说明 仅有三个3的概念样本Dealer类如下。 代码是用c#编写的,我也在考虑任何与语言无关的解决方案。 以下是示例代码的一些描述 使用Dealing()方法,我们得到一些处理的卡片。 它总是返回最右边的数字(与数组相关),然后通过更改permutationIndex将其左边的数字(比如下一个可用的数字)滚动到最右边的位置。 方法Collect(int)用于收集并将处理后的卡片放回到牌组中。 它会改变permutationIndex ,根据卡的数量返回给经销商。 dealt的整数表示我们dealt了多少张牌; 从最左边到存储在dealt中的计数都是发牌。 使用permutationIndex ,我们知道卡的顺序。 不使用示例代码中的int[,]数组,只是为了帮助设想排列。 switch语句被认为是用计算permutationIndex算法实现的。 permutationIndex与此答案中描述的内容相同 快速置换 – >数字 – >置换映射算法 示例代码 public static […]

如果找不到指定的图像文件,显示默认图像的最佳方法是什么?

我有一般的电子商务应用程序,我将ITEM_IMAGE_NAME存储在数据库中,有时管理员MISSPELL的图像名称。 为了避免“丢失图像”(IE中的红色X),每次显示产品列表时,我都会检查服务器以查找与产品相关的图像,如果该文件不存在 – 我将其替换为默认图像。 据我所知,这不会影响性能,但我想知道是否有任何替代方案来解决“缺失图像”问题。 我正在使用ASP.NET + C#(.NET 3.5) 一些代码: foreach (Item item in Items) { string path = Path.Combine(“~/images/”, item.categoryImage); item.categoryImage = File.Exists(Server.MapPath(path)) ? item.categoryImage : GetImageDependingOnItemType(); }

可以使用Regex进行这种特殊的字符串操作吗?

我需要在字符串中用字符(比如说) P替换字符(比如说) x ,但前提是它包含在带引号的子字符串中。 一个例子使它更清楚: axbx’cxdxe’fxgh’ixj’k -> axbx’cPdPe’fxgh’iPj’k 为简单起见,我们假设引号总是成对出现。 显而易见的方法是一次只处理一个字符串(一个简单的状态机方法); 但是,我想知道是否可以使用正则表达式一次完成所有处理。 我的目标语言是C#,但我想我的问题与任何有正则表达式内置或库支持的语言有关。

validation英国电话号码

如何使用正则表达式在C#中validation英国电话号码?