标签: string-matching

简单的字符串匹配

我想做一个简单的字符串匹配,从字符串的-front-搜索.是否有更容易的方法来做这个可能内置?(re看起来有点矫枉过正)

def matchStr(ipadr = '10.20.30.40', matchIP = '10.20.'):
    if ipadr[0:len(matchIP)] == matchIP: return True
    return False
Run Code Online (Sandbox Code Playgroud)

python string-matching

2
推荐指数
1
解决办法
1537
查看次数

处理与Java枚举不匹配的字符串

我正在编写一个解析器来解析一个String数组,并为该文件中的每个单词分配一个数值.

我想要完成的是这样的:

如果在枚举中找不到该单词,则为parse()该数组的特定元素调用外部方法.

我的代码看起来类似于:

private enum Codes {keyword0, keyword1};

switch Codes.valueOf(stringArray[0])
{

case keyword0:
{
    value = 0;
    break;
}
case keyword1:
{
    value = 1;
    break;
}
default:
{
    value = parse(StringArray[0]);
    break;
}
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当它在输入中找到不等于"keyword0"或"keyword1"的东西时,我得到了

没有枚举const类

提前致谢!

java string enumeration string-matching

2
推荐指数
1
解决办法
758
查看次数

正则表达式匹配具有特定属性的html标记

我正在尝试匹配所有没有"term"或"range"属性的HTML标记

这是HTML格式的示例

<span class="inline prewrap strong">DATE:</span>    12/01/10
<span class="inline prewrap strong">MR:</span>  1234567
<span class="inline prewrap strong">DOB:</span> 12/01/65
<span class="inline prewrap strong">HISTORY OF PRESENT ILLNESS:</span>  Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic …
Run Code Online (Sandbox Code Playgroud)

regex pattern-matching string-matching

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

Lua - 如何找到1或2个字符差异的子字符串

说我有一个字符串

local a = "Hello universe"
Run Code Online (Sandbox Code Playgroud)

我发现子串"宇宙"

a:find("universe")
Run Code Online (Sandbox Code Playgroud)

现在,假设字符串是

local a = "un#verse"
Run Code Online (Sandbox Code Playgroud)

要搜索的字符串是Universe; 但子字符串因单个字符而异.显然Lua忽略了它.

即使单个字符存在差异,如何使函数找到字符串?

string lua string-matching

2
推荐指数
1
解决办法
2972
查看次数

在Perl中,每N个字符插入一个char的最佳方法

我想在Perl中找到最好的方法,在字符串中每N个字符插入一个char.假设我有以下内容:

my $str = 'ABCDEFGH';
Run Code Online (Sandbox Code Playgroud)

我想每两个字符插入一个空格,以便我得到:

my $finalstr = 'AB CD EF GH';
Run Code Online (Sandbox Code Playgroud)

无辜的方式是:

my $finalstr;
while ($str =~ s/(..)//) {
    $finalstr .= $1.' ';
}
Run Code Online (Sandbox Code Playgroud)

(但最后一个空间并没有让我开心.)

我们可以做得更好吗?是否可以使用单个替换模式s ///,尤其是使用相同的字符串$ str(而不是使用$ finalstr)?


下一步:做同样的事情,但要切割模式之前和之后的文本(并保留,当然),例如'<<'和'>>':

my $str       = 'blah <<ABCDEFGH>> blah';
my $finalstr1 = 'blah <<AB CD EF GH>> blah';
my $finalstr2 = 'blah << AB CD EF GH >> blah';  # alternate
Run Code Online (Sandbox Code Playgroud)

algorithm perl string-matching

2
推荐指数
1
解决办法
3060
查看次数

在测试资源管理器中按特征匹配部分名称进行过滤

我正在使用Test Explorer来过滤测试.在搜索框中,您可以使用特征来提取certan类别的测试.例如:

Trait:"Awesome"
Run Code Online (Sandbox Code Playgroud)

将仅使用"Awesome"测试类别过滤测试.

但是,我们现在已经建立了"Awesomeness"类别的测试.

所以,为了得到这些,你做:

Trait:"Awesomeness"
Run Code Online (Sandbox Code Playgroud)

但是,现在当你使用:

"Trait:"Awesome",你现在得到的测试类别为"Awesome" 以及 "Awesomeness",因为它部分匹配 - " Awesome ness".

有没有办法在特征名称上指定具有精确匹配的测试,而不是默认的部分匹配?

c# traits string-matching test-explorer visual-studio-2013

2
推荐指数
1
解决办法
454
查看次数

使用grep从data.table中对行进行子集化,比较行内容

DT <- data.table(num=c("20031111","1112003","23423","2222004"),y=c("2003","2003","2003","2004"))

> DT
    num    y
1: 20031111 2003
2:  1112003 2003
3:    23423 2003
4:  2222004 2004
Run Code Online (Sandbox Code Playgroud)

我想比较两个单元格内容,并根据布尔值执行操作.例如,如果"num"与年份匹配,则创建一个包含该值的列x.我考虑过基于grep的子集化,这是有效的,但每次都会自然检查整个列,这看起来很浪费

DT[grep(y,num)] # works with a pattern>1 warning
Run Code Online (Sandbox Code Playgroud)

我可以申请()我的方式,但也许有一个data.table方式?

谢谢

grep r string-matching data.table

2
推荐指数
1
解决办法
1506
查看次数

如何获取lua字符串匹配来解析环境变量字符串?

我有一个用lua编写的配置文件解析器.

我想检测作为环境变量的值并使用os.getenv更改它们.

这可能有点雄心勃勃,因为我可以拥有像这样的价值观

"a string with an embedded ${VARIABLE} in here"
Run Code Online (Sandbox Code Playgroud)

要么

"another string with an env $VARIABLE"
Run Code Online (Sandbox Code Playgroud)

而且我应该允许使用double $$来逃避它们以允许文字$.

我该怎么做呢?

这是我到目前为止所做的,但这是不对的

local envvar = string.match(value, "%$([%w_]+)")
if envvar then
  print("Envvar=", envvar)
  value = value:gsub("(%$[%w_]+)", os.getenv(envvar))
end
Run Code Online (Sandbox Code Playgroud)

例如,我无法弄清楚如何在此处使用%b余额选项来正确匹配{}组合.并使它们可选.如何稳健地完成这项工作?

事实上,我意识到它可能比这更复杂.如果指定了多个环境变量怎么办?

lua string-matching luajit lua-patterns

2
推荐指数
1
解决办法
242
查看次数

检查r中另一个字符串中是否存在一个字符串的所有字符

我想比较像PRABHAKAR SHARMA和的字符串SHARMA KUMAR PRABHAKAR.目的是检查较短字符串的所有字符是否都存在于另一个字符串中.如果是这种情况,我应该获得100%匹配,否则表示匹配字符百分比的百分比.

我尝试levenshteinSimRecordLinkage包中使用但它给出了一个数字,对应于将一个字符串更改为另一个字符串所需的更改次数.

install.packages("RecordLinkage")
require(RecordLinkage)
levenshteinSim("PRABHAKAR SHARMA","SHARMA KUMAR PRABHAKAR")

#[1] 0.3636364
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我希望100%匹配.此外,还必须复制超过1,000,000条记录.

r string-matching

2
推荐指数
1
解决办法
545
查看次数

查找两个不同数据帧列之间的部分匹配,并在找到匹配项时分配值

我想用df1数据框的"类别"列中的正确值填充数据df2框的"类别"列.

import pandas as pd

df1 = pd.DataFrame({"Receiver": ["Insurance company", "Shop", "Pizza place", "Library", "Gas station 24/7", "Something else", "Whatever receiver"], "Category": ["","","","","","",""]}) 
df2 = pd.DataFrame({"Category": ["Insurances", "Groceries", "Groceries", "Fastfood", "Fastfood", "Car"], "Searchterm": ["Insurance", "Shop", "Market", "Pizza", "Burger", "Gas"]})
Run Code Online (Sandbox Code Playgroud)

输出:

df1
Receiver                Category
0   Insurance company   
1   Shop    
2   Pizza place 
3   Library 
4   Gas station 24/7    
5   Something else  
6   Whatever receiver   

df2
    Category    Searchterm
0   Insurances  Insur
1   Groceries   Shop
2   Groceries   Market
3 …
Run Code Online (Sandbox Code Playgroud)

python string-matching dataframe pandas

2
推荐指数
1
解决办法
85
查看次数