问题标签 [substring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
55426 浏览

linq - LINQ:在日期时间字段中按月和年分组

我有一个带有日期时间字段的表。我想检索按月/年组合以及该月/年中出现的记录数分组的结果集。如何在 LINQ 中做到这一点?

我能弄清楚的最接近的是在 TSQL 中:

但我不会说这有效...

0 投票
5 回答
1499 浏览

java - Javabat 子串计数

有我的 catDog 代码,已经研究了一段时间,但无法找出问题所在。帮助将不胜感激!*/

编辑- 如果字符串“cat”和“dog”在给定字符串中出现的次数相同,我想返回 true。

0 投票
2 回答
10572 浏览

python - 在python中查找子字符串

你能帮我在每次出现时获取两个字符之间的子字符串吗

例如,要在所有出现的给定示例序列中获取“Q”和“E”之间的所有子字符串:

并找到具有最小长度的子字符串。

0 投票
2 回答
2307 浏览

python - 找到最短的子串

我编写了一个代码来从字符串中查找子字符串。它打印所有子字符串。但我想要一个长度为 2 到 6 的子字符串并打印最小长度的子字符串。请帮我

程序:

输出:

期望的输出:

0 投票
6 回答
14011 浏览

python - 在 Python 中查找多个子字符串之一的最有效方法是什么?

我有一个可能的子字符串列表,例如['cat', 'fish', 'dog']. 实际上,该列表包含数百个条目。

我正在处理一个字符串,我正在寻找的是找到任何这些子字符串第一次出现的索引。

澄清一下,对于'012cat'结果是 3,对于'0123dog789cat'结果是 4。

我还需要知道找到了哪个子字符串(例如,它在子字符串列表中的索引或文本本身),或者至少匹配的子字符串的长度。

有明显的蛮力方法可以实现这一点,我想知道是否有任何优雅的 Python/regex 解决方案。

0 投票
5 回答
7402 浏览

c - 这是 C 的一个很好的 substr 吗?

另请参阅C 分词器


这是我为 C 编写的一个快速 substr() (是的,变量初始化需要移动到函数的开头等,但你明白了)

我已经看到了许多 substr() 的“智能”实现,它们很简单,只需要一行调用 strncpy()!

它们都是错误的(strncpy 不保证空终止,因此调用可能不会产生正确的子字符串!)

这里有更好的东西吗?

把虫子带出来!

输出 :

0 投票
1 回答
2081 浏览

c - C Tokenizer(当字段丢失时它也返回空。耶!)

另请参阅:这是 C 的一个好的 substr() 吗?


strtok()和朋友跳过空字段,我不知道如何告诉它在这种情况下不要跳过而是返回空。

我能看到的大多数标记器的类似行为,甚至没有让我开始sscanf()(但它从未说过它会在空字段上工作)。

我一直在滚动并且也感到困倦,所以在这里进行审查:

这是驱动程序:

是的,你没看错;它现在仅适用于单个分隔符,但当然,我们需要处理一个错误。

输出:

我也将其设为 wiki,因为我在网上看到了许多类似的请求。

0 投票
8 回答
17151 浏览

substring - 获取所有子串(拼字游戏)的字谜的所有单词列表的算法?

例如,如果输入字符串是 helloworld,我希望输出如下:

一直到最长的单词,即 helloworld 子字符串的字谜。例如在 Scrabble 中。输入字符串可以是任意长度,但很少超过 16 个字符。

我已经进行了搜索并提出了类似 trie 的结构,但我仍然不确定如何实际执行此操作。

0 投票
6 回答
2509 浏览

language-agnostic - substring() 应该如何工作?

我不明白为什么 Java 的 [String.substring() 方法]( http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#substring(int,%20int% 29)以它的方式指定。我不能告诉它从编号位置开始并返回指定数量的字符;我必须自己计算结束位置。如果我指定结束位置超出字符串,而不是只为我返回字符串的其余部分,Java 抛出一个异常。

我习惯于 substring()(或 substr())采用两个参数的语言:起始位置和长度。这在客观上是否比 Java 做的更好,如果是,你能证明吗?您所见过的 substring() 的最佳语言规范是什么?什么时候让一种语言以不同的方式做事是个好主意?Java 抛出的 IndexOutOfBoundsException 是不是一个好的设计理念?这一切都归结为个人喜好吗?

0 投票
5 回答
2826 浏览

c++ - 从有序的字符序列递归生成有序子字符串?

得到答案后编辑

这里有一些很好的答案。我喜欢 Josh 的,因为它非常聪明并且使用 C++。但是,我决定接受 Dave 的回答,因为它简单且具有递归性。我对它们都进行了测试,它们都产生了相同的正确结果(尽管顺序不同)。所以再次感谢大家。


假设我有一个字符串 s 的字符 s[0]:s[N] 并且每个字符 s[i] <= s[i+1] 例如字符串

我想生成子字符串的所有组合,同时保持字符之间的相同关系。

所以例如我会得到

但不是

现在我知道如何计算出有多少种组合。您创建字符串中字母频率的直方图。所以在上面的例子中,那将是

对于字符串 aaacdddghzz

公式是(a+1)(c+1)(d+1)(g+1)(h+1)(z+1) = 4*4*2*2*2*3 = 384。有 384 个子字符串保持 s[i] <=s [i+1] 关系。

所以问题是如何递归地生成这 384 个子字符串?实际上,迭代方法同样好,也许更好,因为具有许多唯一字符的大字符串可能会导致堆栈溢出。这听起来像是家庭作业,但事实并非如此。我只是想出这样的算法没用。我使用 C++,但伪代码会很好。