首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【已解决】怎么获取字符串中相同字符串第N 个所在的位置

问题描述 给一个配置的字符串例如 NSString *string = @"34563879-+4561346573"; 现在我想获取到字符串第3个字符串3所在的位置。...对于我们经常用的rangeOfString这个方法只能获取最近的一次出现的位置,而不能指定第几个出现的位置。 查看关于 NSString里面其他不经常用到的 API,还真找到一个相似的方法。...NSCaseInsensitiveSearch = 1, //不区分大小写比较 NSLiteralSearch = 2, //逐字节比较 区分大小写 NSBackwardsSearch = 4, //从字符串末尾开始搜索...NSAnchoredSearch = 8, //搜索限制范围的字符串 NSNumericSearch = 64, //按照字符串里的数字为依据,算出顺序。...rangeString)); } return NSMakeRange(NSNotFound, 0); } 简单的测试用例 - (void)testRangeOfString { /* 查找第一个1

2.5K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    在shell程序里如何从文件中获取第n行

    我一直在使用 head -n | tail -1,它可以做到这一点,但我一直想知道是否有一个Bash工具,专门从文件中提取一行(或一段行)。 所谓“规范”,我指的是一个主要功能就是这样做的程序。...答: 有一个可供测试的文件,内容如下: 使用 sed 命令,要打印第 20 行,可写为 sed -n '20'p file.txt sed -n '20p' file.txt 测试截图如下: 要打印第...8 到第 12 行,则可用命令 sed -n '8,12'p file.txt 如果要打印第8、9行和第12行,可用命令 sed -n '8p;9p;12p' file.txt 对于行数特大的文件...,为了提高处理速度,可采用类似如下命令 sed '5000000q;d' file.txt tail -n+5000000 file.txt | head -1 需要关注处理性能的伙伴可以在上述命令前加上...其他可实现相同效果的命令工具还有 cut, awk, perl 等: cut -f23 -d$'\n' file.txt awk 'NR == 23 {print; exit}' file.txt perl

    45320

    2023-01-04:有三个题库A、B、C,每个题库均有n道题目,且题目都是从1到n进行编号 每个题目都有一个难度值 题库A中第i个题目的难度为ai 题库B中第

    2023-01-04:有三个题库A、B、C,每个题库均有n道题目,且题目都是从1到n进行编号每个题目都有一个难度值题库A中第i个题目的难度为ai题库B中第i个题目的难度为bi题库C中第i个题目的难度为ci...第二题的难度必须大于第一题的难度,但不能大于第一题难度的两倍第三题的难度必须大于第二题的难度,但不能大于第二题难度的两倍小美想知道在满足上述要求下,有多少种不同的题目组合(三道题目中只要存在一道题目不同,则两个题目组合就视为不同输入描述...第一行一个正整数n, 表示每个题库的题目数量第二行为n个正整数a1, a2,...... an,其中ai表示题库A中第i个题目的难度值第三行为n个正整数b1, b2,...... bn,其中bi表示题库...B中第i个题目的难度值第四行为n个正整数c1, c2,...... cn,其中ci表示题库C中第i个题目的难度值1 n N * logN)。因为要排序。空间复杂度O(N)。用rust和solidity写代码。代码用rust编写。

    41410

    2023-01-04:有三个题库A、B、C,每个题库均有n道题目,且题目都是从1到n进行编号每个题目都有一个难度值题库A中第i个

    2023-01-04:有三个题库A、B、C,每个题库均有n道题目,且题目都是从1到n进行编号 每个题目都有一个难度值 题库A中第i个题目的难度为ai 题库B中第i个题目的难度为bi 题库C中第i个题目的难度为...第二题的难度必须大于第一题的难度,但不能大于第一题难度的两倍 第三题的难度必须大于第二题的难度,但不能大于第二题难度的两倍 小美想知道在满足上述要求下,有多少种不同的题目组合 (三道题目中只要存在一道题目不同,则两个题目组合就视为不同...输入描述 第一行一个正整数n, 表示每个题库的题目数量 第二行为n个正整数a1, a2,...... an,其中ai表示题库A中第i个题目的难度值 第三行为n个正整数b1, b2,...... bn,...其中bi表示题库B中第i个题目的难度值 第四行为n个正整数c1, c2,...... cn,其中ci表示题库C中第i个题目的难度值 1 n N * logN)。因为要排序。 空间复杂度O(N)。 用rust和solidity写代码。 代码用rust编写。

    41230

    2022-12-22:给定一个数字n,代表数组的长度, 给定一个数字m,代表数组每个位置都可以在1~m之间选择数字, 所有长度为n的数组中,最长递增子序列长度为

    2022-12-22:给定一个数字n,代表数组的长度,给定一个数字m,代表数组每个位置都可以在1~m之间选择数字,所有长度为n的数组中,最长递增子序列长度为3的数组,叫做达标数组。返回达标数组的数量。...("功能测试开始"); for n in 4..=8 { for m in 1..=5 { let ans1 = number1(n, m);...(n as usize).collect(); return process1(0, n, m, &mut a);}fn process1(i: i32, n: i32, m: i32, path...// n : 一共的长度!// m : 每一位,都可以在1~m中随意选择数字// 返回值:i..... 有几个合法的数组!...i == n { return if f !

    2.1K20

    R编程(一:基本数据类型及其操作之向量)

    R 中的向量存储单一类型的数据,比如: 数字 image.png 字符串 image.png 逻辑值 当我们欲求同时存放数字和字符的时候,R会将其同时转化为字符串: 生成向量 通过 <- c(...duplicated(x) 输出非重复值为TRUE table(x) #重复值统计 sort(x) #排序 选择向量内容 利用位置 选择向量中的某个变量 或选择多个变量 也就是取子集的过程 poker_midweek...# 2.如何将两个向量合到一起,组成一个长向量?...> a <- c(1,2,3) > b <- c(4,5,6) > c(a,b) [1] 1 2 3 4 5 6 # 3.如何在向量首/尾/中间某位置增加一个元素?...a <- c(0,a)# 首 b <- c(b,7) # 尾 n=2 # 二号位 c(a[1:n-1],66,a[n:length(a)]) # 4.如果向量x和y内容一致但顺序不一致,如何按照x的顺序排列

    1.3K20

    TransformerModel-基于miniGPT理解

    Embedding层的计算过程就是根据输入token的index和位置,将两个矩阵中的对应列相加:在demo模型中t=3时刻输入token为B,对应Token Embed矩阵中第1列(下标从0开始),对应...Position Embed矩阵中第3列(下标从0开始),两列相加作为词嵌入的结果input embedding,用于后续处理。...的第N行中; AttentionMatrix做SoftMax归一化处理; 将AttentionMatrixNorm矩阵中第N行作为权重,计算Value Vector中各列的加权和,作为最终输出的第N列。...Softmax softmax实际上是对输入数据取指数,然后进行归一化,计算公式如下: Output 最终输出是通过一个线性层,将输入从特征维度向量(C)映射回词表对应的维度(n_vocab),表示输出对应词汇的概率...,选择概率最高的输出。

    20210

    关于机器学习的知识点,全在这篇文章里了

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) ? ? 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    65320

    【收藏】关于机器学习的知识点,全在这篇文章里了

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) ? ? 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    46610

    1万+字原创读书笔记,机器学习的知识点全在这篇文章里了

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) ? ? 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    47720

    一文总结机器学习常见知识点

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) ? ? 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    51510

    向量距离计算的几种方式

    b=[2,3,4],那么两个向量之间的曼哈顿距离可以表示如下: |1-2| + |2-3| + |3-4| = 3 求解曼哈顿距离的过程就是求两条向量中每个对应位置的元素之差的绝对值,然后将其求和的过程...4.汉明距离 汉明距离在信息论中更常用,表示的是两个等长度的字符串中位置相同但字符不同的位置个数,。...如字符串“011001”与字符串“101100”之间的汉明距离为4,也就是这两个字符串之间存在4个位置的不同,分别出现在第1、第2、第4和第6个字符的位置上。...汉明距离也可以用在某些图像相似度识别场景,如有种图像相似性识别算法叫作感知哈希算法(Perceptual Hash Algorithm),该算法可以将图片映射为一个哈希字符串,比较两个图片之间的相似度就可以通过判断两个哈希字符串之间不一致的位置有多少来实现...6.谷本距离 谷本距离Tanimoto主要用于衡量二值变量,对于二值变量,谷本距离公式可表示为: 在 Milvus 中,谷本距离仅支持二值变量。 值域从 0 到正无穷。

    1.1K20

    【干货】关于机器学习的知识点,全在这篇文章里了

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) ? ? 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    85010

    干货 | 关于机器学习的知识点,全在这篇文章里了

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) ? ? 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    59710

    干货 | 关于机器学习的知识点,全在这篇文章里了

    根据特征值的大小给特征向量排序。对应于第q小的特征值,将向量y的第q行设置为第q+1 个特征向量(忽略特征值为0) 7....GA使用字符串(类似染色体的作用),字符串中的每个元素都是从某些字母表中选择,字母表中的值通常是二进制的相当于等位基因,对于解决方法,将被变为一个字符串,然后我们随机生产字符串作为初始种群。...产生后代的常用3种方法: 联赛选择:反复从种群中挑选四个字符串,替换并将最适合的两个字符串放人交配池中。 截断选择:仅按比例f挑出适应度最好的一-部分并且忽略其他的。...随机选择字符串中的一个位置,然后用字符串1的第一部分和字符串2的第二部分组成后代。(b)多点交叉。选择多个点,后代的生成方式和前面一样。(c)均匀交叉。每个元素都随机的选自于它的父母。...1. k-means算法 初始化 选择一个k值。 在输入空间中选择k个随机位置。 将簇中心μj,安排到这些位置。

    50941

    matlab 稀疏矩阵 乘法,Matlab 矩阵运算

    diag(V)函数也有另一种形式diag(V,k),其功能是产生一个n*n(n=m+k)对角阵,其第m条对角线的元素即为向量V的元素。...五、字符串 在MATLAB中,字符串是用单撇号括起来的字符序列。MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也 可以建立多行字符串矩阵。...矩阵的密度定义为矩阵中非零元素的个数除以矩阵中总的元素个数。对于低密度的矩阵,采用稀疏方式存储是一种很好的选择。...(3) 从文件中创建稀疏矩阵 利用load和spconvert函数可以从包含一系列下标和非零元素的文本文件中输入稀疏矩阵。...(4) 稀疏带状矩阵的创建 S=spdiags(B,d,m,n) 其中m 和n 分别是矩阵的行数和列数;d是长度为p的整数向量,它指定矩阵S的对角线位置;B是全元素矩阵,用来给定S对角线位置上的元素,行数为

    3K30

    Matlab矩阵基本操作(定义,运算)

    diag(V)函数也有另一种形式diag(V,k),其功能是产生一个n*n(n=m+k)对角阵,其第m条对角线的元素即为向量V的元素。...五、字符串 在MATLAB中,字符串是用单撇号括起来的字符序列。MATLAB将字符串当作一个行向量,每个元素对应一个字符,其标识方法和数值向量相同。也可以建立多行字符串矩阵。...矩阵的密度定义为矩阵中非零元素的个数除以矩阵中总的元素个数。对于低密度的矩阵,采用稀疏方式存储是一种很好的选择。...(3) 从文件中创建稀疏矩阵利用load和spconvert函数可以从包含一系列下标和非零元素的文本文件中输入稀疏矩阵。...(4) 稀疏带状矩阵的创建 S=spdiags(B,d,m,n) 其中m 和n 分别是矩阵的行数和列数;d是长度为p的整数向量,它指定矩阵S的对角线位置;B是全元素矩阵,用来给定S对角线位置上的元素,行数为

    2.6K20

    R语言︱文本(字符串)处理与正则表达式

    表示任意字符; 方括号表示选择方括号中的任意一个(如[a-z] 表示任意一个小写字符);^ 放在表达式开始出表示匹配文本开始位置,放在方括号内开始处表示非方括号内的任一字符;大括号表示前面的字符或表达式的重复次数...^ 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 $ 匹配输入字符串的结束位置。...两者的参数设置基本相同: substr(x, start, stop) substring(text, first, last = 1000000L) 第 1个参数均为要拆分的字串向量,第2个参数为截取的起始位置向量...,第3个参数为截取字串的终止位置向量。..., c(2,4), c(4,5,8)) [1] "234" "45" "2345678" 因为x的向量长度为1,所以substr获得的结果只有1个字串,即第2和第3个参数向量只用了第一个组合

    4.2K20
    领券