Questions tagged «substring»

字符串的一部分,或返回字符串的一部分的函数/方法

7
如何在第一个`/`(斜杠)处分割字符串,并将其部分包围在`<span>`中?
我想格式化以下日期:&lt;div id="date"&gt;23/05/2013&lt;/div&gt;。 首先,我想首先分割字符串,/然后将其余部分放在下一行。接下来,我想将第一部分包围在&lt;span&gt;标签中,如下所示: &lt;div id="date"&gt; &lt;span&gt;23&lt;/span&gt; 05/2013&lt;/div&gt; 23 05/2013 我做了什么: &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"&gt;&lt;/script&gt; &lt;div id="date"&gt;23/05/2013&lt;/div&gt; &lt;script type="text/javascript"&gt; $(document).ready(function() { $("#date").text().substring(0, 2) + '&lt;br /&gt;'; }); &lt;/script&gt; 运行代码段隐藏结果展开摘要 参见JSFiddle。 但这是行不通的。有人可以帮助我使用jQuery吗?

18
什么是最快的子串搜索算法?
好的,所以我听起来不像个白痴,我将更明确地说明问题/要求: 针(模式)和干草堆(要搜索的文本)都是C样式的以null终止的字符串。没有提供长度信息;如果需要,必须对其进行计算。 函数应该返回指向第一个匹配项的指针,或者NULL如果找不到匹配项。 失败案例是不允许的。这意味着具有非恒定(或大常数)存储要求的任何算法都将需要具有备用失败分配的备用情况(备用备用的性能因此会导致最差情况的性能)。 尽管也可以很好地描述不带代码的算法(或指向该算法的链接),但是实现应使用C语言。 ...以及“最快”的意思: 确定性O(n)其中n=干草堆长度。(但是,O(nm)如果将它们与更鲁棒的算法结合使用以给出确定性的O(n)结果,则可以使用通常是正常的算法(例如滚动哈希)中的思想)。 永远不要表现出if (!needle[1])比朴素的蛮力算法更糟的性能(可测量;几个时钟等等都可以),特别是在很短的针上,这可能是最常见的情况。(无条件的大量预处理开销是不好的,因为试图以可能的针头为代价来提高病理性针头的线性系数)。 与任意其他广泛使用的算法相比,给定任意的针头和干草堆,其性能可比或更高(搜索时间长于50%以上)。 除了这些条件,我将保留“最快”开放式的定义。一个好的答案应该可以解释为什么您考虑您建议的“最快”方法。 我的当前实现比glibc的双向实现大约慢10%至快8倍(取决于输入)。 更新:我当前的最佳算法如下: 对于长度为1的针,请使用strchr。 对于长度为2-4的针,请使用机器字一次比较2-4个字节,如下所示:将针以16位或32位整数进行预加载并进行位移位,并在每次迭代时从干草堆中循环出旧字节/新字节。干草堆的每个字节仅被读取一次,并检查0(字符串末尾)和一个16位或32位比较。 对于长度&gt; 4的针,请使用双向算法以及一个错误的移位表(例如Boyer-Moore),该表仅应用于窗口的最后一个字节。为了避免初始化1kb表的开销(这对于许多中等长度的针头来说都是净损失),我保留了一个位数组(32字节)来标记移位表中的哪些条目已初始化。未设置的位对应于从未出现在机针中的字节值,因此可能会发生全针长移位。 我想到的主要问题是: 有没有一种方法可以更好地利用不良转移表?Boyer-Moore通过向后扫描(从右到左)来最好地利用它,但是双向方法需要从左到右扫描。 对于一般情况(没有内存不足或二次性能条件),我发现的仅有的两种可行的候选算法是有序字母表上的双向匹配和字符串匹配。但是是否存在容易检测到的情况,其中不同的算法将是最佳选择?当然,空间算法中的许多O(m)(m针长在哪里)都可以使用m&lt;100。如果对可证明只需要线性时间的针进行简单的测试,也可以使用最坏情况的二次方算法。 奖励积分: 您可以假设针和干草堆都是格式正确的UTF-8来提高性能吗?(具有变化的字节长度的字符,良好的格式会在针和干草堆之间提出一些字符串对齐要求,并在遇到不匹配的头字节时允许自动2-4字节移位。但是这些约束是否可以为您带来很多/其他好处?最大的后缀计算,良好的后缀移位等已经为您提供了各种算法?) 注意:我很清楚那里的大多数算法,只是他们在实践中表现不佳。这是一个很好的参考,所以人们不会一直给我关于算法的参考作为评论/答案:http : //www-igm.univ-mlv.fr/~lecroq/string/index.html
165 c  algorithm  string  substring 


7
警告:不建议使用“字符”:请直接使用字符串或子字符串
字符-Xcode 9.1不推荐使用String的实例属性 使用characters属性从String中获取子字符串非常有用,但现在已不建议使用,Xcode建议使用substring。我尝试检查SO问题和Apple开发人员教程/指南是否相同。但是看不到建议的任何解决方案/替代方案。 这是警告消息: 不推荐使用“字符”:请使用字符串或子字符串 我有很多使用property执行/处理的字符串操作characters。 有人对此更新有任何想法/信息吗?


30
如何在PHP中的两个字符串之间获取子字符串?
想要改善这篇文章吗?提供此问题的详细答案,包括引文和正确答案的解释。答案不够详细的答案可能会被编辑或删除。 我需要一个函数来返回两个单词(或两个字符)之间的子字符串。我想知道是否有实现该功能的php函数。我不想考虑正则表达式(嗯,我可以做一个,但真的不认为这是最好的方法)。思维strpos与substr功能。这是一个例子: $string = "foo I wanna a cake foo"; 我们调用该函数:$substring = getInnerSubstring($string,"foo"); 它返回:“我想要一个蛋糕”。 提前致谢。 更新: 嗯,到目前为止,我只能在一个字符串中得到两个单词之间的一个子字符串,您允许我走得更远,问我是否可以扩展使用getInnerSubstring($str,$delim)以获得介于delim值之间的任何字符串,例: $string =" foo I like php foo, but foo I also like asp foo, foo I feel hero foo"; 我得到一个像这样的数组{"I like php", "I also like asp", "I feel hero"}。
142 php  substring 

1
在TWIG中找到字符串中的子字符串
我想使用Twig查找字符串的子字符串或检查是否没有这样的子字符串。在单词上,我需要在PHP中使用“ strstr”或“ strpos”的类似物。我用谷歌搜索并在stackoverflow中搜索了此问题,但未找到任何结果。有人知道如何解决这个问题吗?


8
如何在Java中替换不区分大小写的文字子字符串
使用replace(CharSequence target, CharSequence replacement)String中的方法,如何使目标不区分大小写? 例如,它现在的工作方式: String target = "FooBar"; target.replace("Foo", "") // would return "Bar" String target = "fooBar"; target.replace("Foo", "") // would return "fooBar" 如何使它替换(或如果有更合适的方法)不区分大小写,以便两个示例都返回“ Bar”?

21
查找字符串中子字符串的第n次出现
这似乎应该是微不足道的,但是我是Python的新手,并且希望以最Python的方式进行操作。 我想找到对应于字符串中第n个子字符串的索引。 一定有什么我想做的事情是 mystring.find("substring", 2nd) 如何在Python中实现?
117 python  string  substring 

7
在Go中提取子字符串
我正在尝试从控制台(包括空格)读取整行,然后对其进行处理。使用bufio.ReadString,将换行符与输入一起读取,因此我想出了以下代码来修剪换行符: input,_:=src.ReadString('\n') inputFmt:=input[0:len(input)-2]+"" //Need to manually add end of string 有没有更惯用的方法来做到这一点?也就是说,是否已经有一个库在为您提取子字符串时处理结尾的空字节? (是的,我知道在go readline-&gt; string中已经有一种不用换行符就能读取行的方法,但是我正在寻找更多用于优雅的字符串操作的方法。)
114 go  substring 

10
在JavaScript中使用斜杠后获取字符串的值
我已经尝试了一个多小时,并且想不出正确的方法,尽管这可能很简单: 我有这样的事情: foo/bar/test.html 我想使用jQuery提取last之后的所有内容/。在上面的示例中,输出为test.html。 我猜可以使用substr和来完成indexOf(),但是我找不到可行的解决方案。




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.