JavaScript中有与C函数相当的东西strncmp吗? strncmp需要两个字符串参数和一个整数length参数.它会将两个字符串与length字符进行比较,并确定它们是否相等length.
JavaScript是否具有等效的内置函数?
我需要知道一个字符串是否与许多不同的标准相匹配.我试图通过使用正则表达式来解决这个问题,然后看看它是否匹配(在Java中:str.matches(myRegex);),但是我无法做到正确.
标准如下:
例子:
这可以在一个正则表达式中完成吗?或者应该在代码中完成还是两者结合?
谢谢,
莱纳斯
嘿那里,我喜欢正则表达式,但我根本不擅长它们.
我有一个大约400个缩短词的列表,如lol,omg,lmao等.每当有人输入这些缩短的单词中的一个时,它就会被其英语副本替换([笑声]或其他类似的东西).无论如何,人们很烦人,并且用最后一个字母重复x次来输入这些简短的单词.
例子:omg - > omgggg,lol - > lollll,哈哈 - > hahahaha,哈哈 - > lololol
我想知道是否有人可以递给我正则表达式(最好用Python)来解决这个问题?
谢谢大家.
(这是一个与Twitter相关的主题识别项目,如果有人好奇.如果有人发推文"让我们去拍摄一些箍",你怎么知道这条推文是关于篮球等等)
我在应用程序测试中使用了一系列字母数字数据,由于某些原因,我需要计算每个字符串中"a"到"f"的字母出现总和(这将用于进一步的数据处理):
02599caa0b600 --> should be 4
489455f183c1fb49b --> should be 5
678661081c1h
66410hd2f0kxd94f5bb
8a0339a4417
f6d9f967ts4af6e
886sf7asc3e85ec
03f1fhh3c3a2am
e491b17638m60
1m8h2m07bhaa4tnhbc4
29ma900a80m96m65
ca6a75f505tsac8
956828db8ts7fd1d
cf1d220a59a7851180e
a8b7852xd9e7a9
b85963fbe30718db9976
39b8kx8f85abb1b6
0xxb3b648ab
a8da75f730d45048
588h69d344
Run Code Online (Sandbox Code Playgroud)
这是字符串的样子,它们的长度大约是10-30个符号,我想它每天大约有3-5k个用于处理.假设和限制:
到目前为止我已经尝试过的事情(我注意到,这里的做法非常受欢迎):
SUBSTITUTE函数,但它很脏而且非常简单.假设范围可能会变为cx,这将是一场噩梦.无论如何,我不要求"随时可用"的"开箱即用"解决方案 - 我寻求帮助和正确的方向/方法进行自学并进一步了解类似的问题.
我的教授解决了kmp失败函数如下:
index 1 2 3 4 5 6 7 8 9
string a a b a a b a b b
ff 0 1 2 1 2 3 4 5 1
Run Code Online (Sandbox Code Playgroud)
从我在网上查看的其他文本中,我发现它可能是错的,我再次向他证实,他告诉我他是绝对正确的.有人可以向我解释为什么他会以简单的一步一步的方式认为这是对还是错?谢谢
我有一组包含空格分隔元素的字符串.我想建立一个矩阵,告诉我哪些元素是哪些字符串的一部分.例如:
""
"A B C"
"D"
"B D"
Run Code Online (Sandbox Code Playgroud)
应该给出类似的东西:
A B C D
1
2 1 1 1
3 1
4 1 1
Run Code Online (Sandbox Code Playgroud)
现在我已经有了一个解决方案,但是它作为磨拉石运行缓慢,而且我已经没有关于如何加快速度的想法:
reverseIn <- function(vector, value) {
return(value %in% vector)
}
buildCategoryMatrix <- function(valueVector) {
allClasses <- c()
for(classVec in unique(valueVector)) {
allClasses <- unique(c(allClasses,
strsplit(classVec, " ", fixed=TRUE)[[1]]))
}
resMatrix <- matrix(ncol=0, nrow=length(valueVector))
splitValues <- strsplit(valueVector, " ", fixed=TRUE)
for(cat in allClasses) {
if(cat=="") {
catIsPart <- (valueVector == "")
} else {
catIsPart <- sapply(splitValues, reverseIn, …Run Code Online (Sandbox Code Playgroud) 如何编写代码以找到最常见的2-mer"GATCCAGATCCCCATAC".我写了这段代码,但似乎我错了,请帮忙纠正我.
def PatternCount(Pattern, Text):
count = 0
for i in range(len(Text)-len(Pattern)+1):
if Text[i:i+len(Pattern)] == Pattern:
count = count+1
return count
Run Code Online (Sandbox Code Playgroud)
此代码在字符串中打印最频繁的k-mer,但它不会给出给定字符串中的2-mer.
我试图顺序匹配两个字符串,直到第一个不匹配的字符,然后确定完全匹配的百分比.我的代码是这样的:
def match(a, b):
a, b = list(a), list(b)
count = 0
for i in range(len(a)):
if (a[i]!= b[i]): break
else: count = count + 1
return count/len(a)
a = '354575368987943'
b = '354535368987000'
c = '354575368987000'
print(match(a,b)) # return 0.267
print(match(a,c)) # return 0.8
Run Code Online (Sandbox Code Playgroud)
python中是否有任何内置方法可以更快地完成它?为简单起见,假设两个字符串长度相同.
我可以使用dplyr :: select(ends_with)选择适合多种条件的列名称。考虑到我的列名,我想使用结尾于而不是包含或匹配项,因为我要选择的字符串在列名的末尾相关,但也可能出现在其他中间。例如,
df <- data.frame(a10 = 1:4,
a11 = 5:8,
a20 = 1:4,
a12 = 5:8)
Run Code Online (Sandbox Code Playgroud)
我想选择以1或2结尾的列,以仅具有a11和a12列。select(ends_with)是最好的方法吗?
谢谢!
我有这个字典,其中键是字符串,值是整数,如:
{
...
'X ontology entity': 0,
'X entity': 1,
'image quality': 10,
'right lower kidney': 10,
'magnetic resonance imaging': 10312,
'MR imaging': 10312,
...
}
Run Code Online (Sandbox Code Playgroud)
我正在迭代这个词典的键,试图用这些键匹配一系列令牌.假设我有以下一系列令牌:
MR imaging shows that the patient suffers from infection in right lower kidney.
Run Code Online (Sandbox Code Playgroud)
我只是用空格分割上面的文字.
我想匹配MR成像,以及右下肾,因为它们是字典中的关键.所以,我写了下面的代码,我可以匹配"MR成像",而不是"右下肾".(注意,键组中不存在右下方)
found = []
for i, t in enumerate(tokens):
term = [tokens[i]]
j = deepcopy(i)
while (' '.join(term) in self.db_terms):
if j < len(tokens):
j += 1
term.append(tokens[j])
found.append(' '.join(term[:-1]))
return set(found)
Run Code Online (Sandbox Code Playgroud)
我不知道如何通过键搜索"右下方",匹配"右下肾",然后去检查第三个索引.
任何帮助,将不胜感激!谢谢!
string-matching ×10
python ×4
regex ×3
r ×2
string ×2
dplyr ×1
ends-with ×1
excel ×1
java ×1
javascript ×1
knuth ×1
match ×1
optimization ×1
parsing ×1
select ×1