标签: substring

如何在SQL Server中提取此特定子字符串?

我有一个具有特定模式的字符串:

23;chair,red [$3]
Run Code Online (Sandbox Code Playgroud)

即,一个数字后跟一个分号,然后是一个名称,后跟一个左方括号.

假设分号;始终存在且左方括号[始终存在于字符串中,如何在SQL Server查询中(和不包括);[SQL Server查询之间提取文本?谢谢.

sql-server substring

11
推荐指数
2
解决办法
10万
查看次数

python高效子字符串搜索

可能重复:
如何在CPython中实现string.find?

我在这里阅读了很多关于堆栈溢出的帖子比较子字符串搜索的性能(例如Python字符串搜索效率, 这是搜索子字符串的最有效方法吗?, python中的子字符串等等)

我还看了一下包含abstract.c的源代码实现.

据我所知,内置实现是迭代的:python docs

python是否有更多足够的技术来实现查找子字符串:Boyer-Moore算法, Rabin-Karp算法等...... ???

编辑

问题已经扩展: Python:通过嵌入复杂的算法改进子字符串搜索.

c python algorithm performance substring

11
推荐指数
1
解决办法
1903
查看次数

C设置字符串等于substring

在C中,如果我有:

char *reg = "[R5]";
Run Code Online (Sandbox Code Playgroud)

而且我要

char *reg_alt = "R5" (相同的东西,但没有括号),我该怎么做?

我试过了

*char reg_alt = reg[1:2];
Run Code Online (Sandbox Code Playgroud)

但这不起作用.

c string substring

11
推荐指数
2
解决办法
1005
查看次数

子串的SQLServer与左右组合的相对性能

这是一个基于表现的问题,而不是" 我不理解 "或" 最佳实践 "的问题.

我在SQLServer数据库中有一个varchar字段,保证长度超过7个字符.我需要提取一个char(4)字段,该字段由varchar中的第2,第3,第4和第5个字符组成.

例如,如果varchar的值为1234567890,那么我将寻找2345部分.

在左右组合中使用子字符串是否有性能优势?

SELECT SUBSTRING(account,2,4) FROM payment
Run Code Online (Sandbox Code Playgroud)

要么

SELECT RIGHT(LEFT(account,5),4) FROM payment
Run Code Online (Sandbox Code Playgroud)

我注意到在一个有1,760,335条记录的表格上使用右键左边有一点点优势,但我不确定这是否是由于缓存查询等原因造成的.

更新 我做了更多的功课.似乎在这种情况下,右 - 左最终作为右子串执行.这是一个规则吗?或者它只是SQLServer决定皮肤这个特殊猫的方式? 替代文字

sql-server performance substring

10
推荐指数
1
解决办法
5521
查看次数

RavenDB中的子字符串搜索

我有一组类型的对象 Idea

public class Idea
{
    public string Title { get; set; }
    public string Body { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我想通过substring搜索这个对象.例如,当我有标题" 想法 "的对象时,我希望在输入" idea "的任何子字符串时找到它:i,id,ide,idea,d,de,dea,e,ea,a.

我正在使用RavenDB来存储数据.搜索查询看起来像这样:

var ideas = session
              .Query<IdeaByBodyOrTitle.IdeaSearchResult, IdeaByBodyOrTitle>()
              .Where(x => x.Query.Contains(query))
              .As<Idea>()
              .ToList();
Run Code Online (Sandbox Code Playgroud)

索引如下:

public class IdeaByBodyOrTitle : AbstractIndexCreationTask<Idea, IdeaByBodyOrTitle.IdeaSearchResult>
{
    public class IdeaSearchResult
    {
        public string Query;
        public Idea Idea;
    }

    public IdeaByBodyOrTitle()
    {
        Map = ideas => from idea in ideas
                       select new
                           {
                               Query = new object[] { idea.Title.SplitSubstrings().Concat(idea.Body.SplitSubstrings()).Distinct().ToArray() }, …
Run Code Online (Sandbox Code Playgroud)

.net c# search substring ravendb

10
推荐指数
1
解决办法
5156
查看次数

如何查找字符串vb.net中子字符串的出现次数

我有一个字符串(例如:) "Hello there. My name is John. I work very hard. Hello there!",我试图找到字符串的出现次数"hello there".到目前为止,这是我的代码:

Dim input as String = "Hello there. My name is John. I work very hard. Hello there!"
Dim phrase as String = "hello there"
Dim Occurrences As Integer = 0

If input.toLower.Contains(phrase) = True Then
    Occurrences = input.Split(phrase).Length      
    'REM: Do stuff
End If
Run Code Online (Sandbox Code Playgroud)

不幸的是,这行代码似乎是在每次看到第一个字母时分割字符串phrase,在本例中h.因此Occurrences = 2,我实际上得到的数字要大得多,而不是我希望得到的结果.我知道计算一个字符串中的分裂数是一种可怕的方式,即使我得到了正确的答案,所以有人可以帮助我并提供一些帮助吗?

vb.net string split substring

10
推荐指数
4
解决办法
6万
查看次数

可变长度的子串

我有一个表格,其中包含如下字符串的列.

RTSPP_LZ_AEN
RTSPP_LZ_CPS
RTSPP_LZ_HOUSTON
RTSPP_LZ_LCRA
RTSPP_LZ_NORTH
RTSPP_LZ_RAYBN
RTSPP_LZ_SOUTH
RTSPP_LZ_WEST
RTSPP_BTE_CC1 
RTSPP_BTE_PUN1 
RTSPP_BTE_PUN2
Run Code Online (Sandbox Code Playgroud)

我需要从第二次出现_直到字符串结尾获取子字符串,因为您可以看到子字符串不是固定长度.第一部分并不总是固定它可以改变.截至目前,我正在使用以下代码来实现它.

SELECT SUBSTRING([String],CHARINDEX('_',[String],(CHARINDEX('_',[String])+1))+1,100)
FROM [Table]
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我将任意大的值作为处理可变长度的长度.有没有更好的方法呢?

sql sql-server substring sql-server-2012

10
推荐指数
2
解决办法
5万
查看次数

从Liquid中的字符串中获取子字符串?

我和Jekyll一起工作,我有字符串 balh blah blah&garbage **&*&% garbage <h1>TITLE</h1> &^*$%"

有没有办法抓住TITLE?我看过这里的功能,但我没有看到我可以使用的东西.

substring function liquid jekyll

10
推荐指数
1
解决办法
3503
查看次数

'substring(to :)'已弃用:请使用字符串切片下标和'partial range upto'运算符

如何将以下代码更新为新版本的swift:

self.areaCodeLael.text! = localNumber.substring(to: localNumber.index(localNumber.startIndex, offsetBy: 3))
Run Code Online (Sandbox Code Playgroud)

我曾尝试过这篇文章,但我无法正确 使用如何在Swift 4中使用字符串切片下标?

我调整了原始代码,localNumber[..<3]但得到了:

无法使用类型为"PartialRangeUpTo"的索引下标"String"类型的值

substring swift swift4

10
推荐指数
2
解决办法
5706
查看次数

C# 8从字符串中获取最后n个字符的方法

最近 VS 提示我使用:

var str = "foo";
var str2 = str[^2..];
Run Code Online (Sandbox Code Playgroud)

而不是:

var str = "foo";
var str2 = str.Substring(str.Length - 2);
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是 和 之间有什么区别str[^2..]str.Substring(str.Length - 2)?我认为这是一个新的 C# 功能,但我找不到任何有关它的文档。所以,我不知道它是如何调用的以及它带有什么版本的 C#。

这是我试图用谷歌搜索的内容:

^ in string access c#

我没有得到任何相关结果。我应该谷歌其他东西吗?

c# string substring range indices

10
推荐指数
1
解决办法
1万
查看次数