问题标签 [strstr]
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.
c - strstr 和匹配项
我有几种可能的情况要测试strstr
。
然后根据发现我需要做的事情
在不使用大量 if 语句的情况下,有什么好的方法可以做到这一点?
c - strstr 的优化版本(搜索长度不变)
我的 C 程序有很多 strstr 函数调用。标准库 strstr 已经很快,但在我的情况下,搜索字符串的长度始终为 5 个字符。我用一个特殊版本替换它以获得一些速度:
该函数返回一个整数,因为它足以知道 ct 是否出现在 cs 中。在这种特殊情况下,我的函数比标准 strstr 简单且更快,但我很想知道是否有人可以应用一些性能改进。即使是小的改进也是受欢迎的。
概括:
- cs 的长度 >=10,否则它可能会有所不同。长度之前是已知的(未在我的函数中使用)。cs 的长度通常在 100 到 200 之间。
- ct 的长度为 5
- 字符串的内容可以是任何东西
编辑:感谢您的所有回答和评论。我必须研究和测试想法,看看什么最有效。我将从 MAK 关于后缀 trie 的想法开始。
c# - C# 中的 strstr() 等价物
我有两个byte[]
,我想byte[]
在第一个byte[]
(或其中的一个范围)中找到第二个的第一次出现。
我不想使用字符串来提高效率(将第一个转换byte[]
为 astring
效率低下)。
基本上我相信这就是strstr()
C 中的作用。
最好的方法是什么(因此它既高效又易于使用)?
它应该是这样的:
谢谢!
更新:
我想要一个比简单搜索更有效的解决方案。这意味着应该使用比较缓冲区可以更有效的事实 - memcmp() 比迭代字节更有效。
另外,我知道有一些算法可以优化这样的场景:
- 大数组:“12312351231234”
- 小数组:“1231234”
- 朴素算法: 7比较发现“1231235”与“1231234”不同,2比较发现下一个“1”,4比较发现“1235”与“1231”不同,3比较发现下一个“ 1", 7 比较以找到匹配项。总共 7+2+4+3+7=23 次比较。
- 智能算法: 7比较发现“1231235”和“1231234”不同,直接跳到下一个“1”(不比较),4比较发现“1235”和“1231”不同,直接跳到下一个“1” "5", 7 比较以找到匹配项。总共 7+4+7=18 次比较。
c - c语言中通过指针的strstr
这是我制作的strstr的标准代码吗????
php - PHP: How to find the beginning and end of a substring in a string?
This is the content of one mysql table field:
Now, I want to read the remarks and store them in a variable. Remarks(1), Remarks(2), etc. are fixed. 'this is remark1', etc. come from form input fields, so they are flexible.
Basically what I need is: Read everything between 'Remarks(1):' and '--------' and save it in a variable.
Thanks for your help.
c - 在 C 中获取子字符串
我有以下格式的字符串:“R:625.5m E:-32768m”
拔出 625.5 最有效的方法是什么?
php - 将 C(\0 终止)字符串转换为 PHP 字符串
PHP 是我定期使用的那些语言之一,但当我再次开始使用它时,通常不得不把蜘蛛网弄掉。本周我将一些 C 代码移植到 PHP 时也是如此。这使用了大量的 AES 加密和 SHA256 散列 - 到目前为止一切正常。然而,解密后的字符串以“C”形式出现——即以零字节结尾,后跟“垃圾”填充字节。
我目前使用以下内容将这些 C 风格的字符串“修剪”为 PHP 形式:
似乎冗长,应该有一个单行函数调用,但我找不到它?
注意:虽然在这种情况下,“哈希盐”名称暗示我可能知道原始字符串的长度,但这在一般情况下是未知的。substr()
显然,当先验已知长度时,可以使用单行解决方案。
c - 在 C 中处理文本文件的异常行为
我正在尝试模拟 DNS 服务器的行为,我有一个名为 contains 的数据库hosts.txt
,machine_names/IP_addresses
例如:
这是我的代码:
我的代码从标准输入读取机器的值并指示分配给服务器上该机器的 IP 地址。问题是程序行为不正常,我不知道如何将我的代码修改为预期的输出,例如
对不起,如果这个问题很愚蠢,我是这门语言的新手.. 谢谢大家的帮助,请原谅我的英语
php - 我想要一个不同的变量来传递 stristr 但不能包含除了这 3 个不同的东西之外的任何东西
我有以下代码: -
如果 $ad['country'] 有美国、英国或加拿大,那么它应该通过,否则如果有除上述之外的不同值,它应该进入 else 休息。
示例:- 广告 1 有:(美国;英国)> 那么它应该通过 $adsptc4 广告 2 有:(美国;意大利)> 那么它应该失败。
如果您有不明白的地方,请告诉我。
效果很好,如果有任何缺点,请告诉我。
c - 如何在包含 null 的缓冲区中搜索子字符串?
使用 C,我需要在可能包含空值的缓冲区中找到一个子字符串。
我需要返回子字符串的开头,或 null,类似于 strstr():
您是否知道任何现有的实现?
更新
我在谷歌的代码搜索中找到了 memove 的实现,我在这里逐字复制,未经测试,