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

如何使用indexof和substring从字符串中提取数字并生成数字的List<int>?

使用indexof和substring从字符串中提取数字并生成数字的List<int>,可以按照以下步骤进行:

  1. 首先,定义一个空的List<int>,用于存储提取出的数字。
  2. 使用indexof方法找到字符串中第一个数字的索引位置。可以通过循环遍历字符串的每个字符,直到找到第一个数字的位置。
  3. 一旦找到第一个数字的索引位置,可以使用substring方法从该位置开始提取数字。可以通过循环遍历字符串的每个字符,直到遇到非数字字符为止,将提取到的数字字符串存储起来。
  4. 将提取到的数字字符串转换为整数,并将其添加到List<int>中。
  5. 继续循环遍历字符串,重复步骤2到步骤4,直到字符串中的所有数字都被提取并添加到List<int>中。
  6. 最后,返回生成的List<int>。

以下是一个示例代码,使用C#语言实现上述步骤:

代码语言:txt
复制
string inputString = "abc123def456ghi789";
List<int> numbersList = new List<int>();

int startIndex = 0;
while (startIndex < inputString.Length)
{
    int digitIndex = inputString.IndexOfAny("0123456789".ToCharArray(), startIndex);
    if (digitIndex == -1)
    {
        break;
    }

    int endIndex = digitIndex;
    while (endIndex < inputString.Length && Char.IsDigit(inputString[endIndex]))
    {
        endIndex++;
    }

    string numberString = inputString.Substring(digitIndex, endIndex - digitIndex);
    int number;
    if (int.TryParse(numberString, out number))
    {
        numbersList.Add(number);
    }

    startIndex = endIndex;
}

// 输出提取到的数字列表
foreach (int number in numbersList)
{
    Console.WriteLine(number);
}

这段代码将从字符串"abc123def456ghi789"中提取出数字123、456和789,并将它们存储在List<int>中。你可以根据实际需求修改输入字符串和输出方式。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

C# 字符串操作指南:长度、连接、插值、特殊字符和实用方法

; 字符串长度 在 C# 中,字符串实际上是一个对象,其中包含可以在字符串上执行某些操作的属性和方法。...C# 使用 + 运算符同时进行加法和连接。 记住:数字相加,字符串连接。...如果您将两个数字相加,结果将是一个数字: 示例: int x = 10; int y = 20; int z = x + y; // z 将是 30(整数/数字) 如果您将两个字符串相加,结果将是字符串连接...(),它从字符串中提取字符,从指定的字符位置/索引开始,并返回一个新的字符串。...此方法通常与 IndexOf() 一起使用以获取特定字符的位置: 示例: // 全名 string name = "John Doe"; // 字母D的位置 int charPos = name.IndexOf

53410

Oracle Java Numbers和Strings

使用类方法将值转换为其他基元类型和从其他基元转换为字符串,以及在数字系统(十进制、八进制、十六进制、二进制)之间转换。 下表列出了“Number”类的所有子类实现的实例方法。...每个“Number”类包含其他方法,这些方法可用于将数字转换为字符串和从字符串转换为字符串,以及在数字系统之间进行转换。下表列出了“Integer”类中的这些方法。...使用Math。当你需要生成一个随机数时,“随机”很有效。如果需要生成一系列随机数,应该创建java.util。Random”并调用该对象上的方法以生成数字。...子字符串从指定的“beginIndex”开始,并扩展到索引“endIndex-1”处的字符。 String substring(int beginIndex) 返回作为此字符串的子字符串的新字符串。...然后,“substring”使用“lastIndexOf”的返回值提取文件扩展名,即从句点到字符串结尾的子字符串。

23400
  • 怎么截取java的字符串,JavaScript substring() 方法,substring这么使用(详细介绍)

    JavaScript substring() 方法 定义和用法 substring() 方法用于提取字符串中介于两个指定下标之间的字符。...例子 1 在本例中,我们将使用 substring() 从字符串中提取一些字符: var str="Hello world!"...例子 2 在本例中,我们将使用 substring() 从字符串中提取一些字符: var str="Hello world!"...(int beginIndex, int endIndex) 第一个参数int为开始的索引,对应String数字中的开始位置, 第二个参数是截止的索引位置,对应String中的结束位置 1、取得的字符串长度为...注意: 1)、substring(a,b)中的参数a其值可以从索引值0开始, 当a等于0时,则表示其从字符串的第一个字符开始算起, 也就是其子字符串是包含第一个字符的,当然,你也可以从后续的其他字符开始

    8510

    JAVA零基础小白学习教程之day10-API&Object&String

    Scanner类演示使用API 了解了API的使用方式,我们通过Scanner类,熟悉一下查询API,并使用类的步骤。 什么是Scanner类 一个可以解析基本类型和字符串的简单文本扫描器。...在IntelliJ IDEA中,可以使用Code菜单中的Generate…选项,也可以使用快捷键alt+insert,并选择equals() and hashCode()进行自动代码生成。...* 原因是:'a'和97其实都可以代表'a' * int indexOf(String str):返回指定字符串在此字符串中第一次出现处的索引。...* int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。...// int indexOf(int ch,int fromIndex):返回指定字符在此字符串中从指定位置后第一次出现处的索引。

    6310

    JavaScript 28个常用字符串方法及使用技巧

    () substring() 方法用于提取字符串中介于两个指定下标之间的字符。...其语法如下: string.substring(from, to) 复制代码 该方法有两个参数: from:必需。一个非负的整数,规定要提取的子串的第一个字符在 string 中的位置。 to:可选。...该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置。...字符串转为数字 parseInt()和parseFloat()方法都用于将字符串转为数字。 (1)parseInt() parseInt() 方法用于可解析一个字符串,并返回一个整数。...该方法指定字符串中的首个字符是否是数字。如果是,则对字符串进行解析,直到到达数字的末端为止,然后以数字返回该数字,而不是作为字符串。

    2K00

    Java也能做爬虫???

    : 1) 确定一个(多个)种子网页 2) 进行数据的内容提取 3) 将网页中的关联网页连接提取出来 4) 将尚未爬取的关联网页内容放到一个队列中 5) 从队列中取出一个待爬取的页面,判断之前是否爬过。...1、先使用URL类,来将当当网下搜索机械表的内容提取出来。...如果想根据条件提取网页中的内容信息,那么就需要使用Java的正则表达式。...\\w+)通过Pattern和Matcher的配合,我们可以把一段内容中匹配我们要求的文字提取出来,方便我们来处理。 例如:将一段内容中的电话号码提取出来。...,借助容器list,Set,Map来对链接进行爬取和未爬取得划分; 5、每次爬取一个网页时,所获得的所有链接在当前基础上深度+1,并且从未爬取队列中移除,加入到已爬取队列中; 6、为提升性能,在进行递归的时候

    98420

    枚举类

    Random(); //创建一个Random对象 for(int i=0;i生成20个随机整数,并显示         int num=rand.nextInt(10);/...equals():检查组成字符串内容的字符是否完全一致 ==:判断两个字符串在内存中的地址, 即判断是否是同一个字符串对象 equalsIgnoreCase()比较字母的长度和字符是否相同,切不区分大小写...toLowerCase()转小写 toUpperCase()转大写 字符串连接 方法1:使用“+” 方法2:使用String类的concat()方法 方法名 说明 public int indexOf...(int ch) 搜索第一个出现的字符ch(或字符串value),如果没有找到,返回-1 public int indexOf(String value) public int lastIndexOf...(int index) 提取从位置索引开始的字符串部分 public String substring(int beginindex, int endindex) 提取beginindex和endindex

    25810

    Java基础专题(三):字符串

    子串 String类的substring方法可以从一个较大的字符串提取出一个子串。...这里要复制位置为0,1和2(从0到2,包括0和2)的字符。在substring中从0开始计数,直到3为止,但不包括3。 substring有一个优点:容易计算字串的长度。...即substring(a,b)的长度为b-a。例如,子串“Hel”的长度为3-0=3 拼接 与绝大多数的程序设计语言一样,Java语言允许使用 + 号连接(拼接)两个字符串。...所以在Java文档中将String类对象称为不可变字符串,如同数字3永远是数字3一样,字符串“Hello”永远包含字符 H,e,l,l 和 o 的代码单元序列,而不能修改戏中的任何一个字符。...cp) int indexOf(int cp, int fromIndex) 返回与字符串str或代码点cp匹配的第一个子串的开始位置。

    61640

    Leetcode算法系列| 10. 正则表达式匹配

    1.题目 给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 ‘.’ 和 ‘*’ 的正则表达式匹配。 1.‘.’ 匹配任意单个字符 2.‘.’...提示: 1 <= s.length <= 20 1 <= p.length <= 20 s 只包含从 a-z 的小写字母。 p 只包含从 a-z 的小写字母,以及字符 . 和 *。...保证每次出现字符 * 时,前面都匹配到有效的字符 2.题解 映入脑海的第一个想法是将数字转换为字符串,并检查字符串是否为回文。但是,这需要额外的非常量空间来创建问题描述中所不允许的字符串。...按照第二个想法,为了避免数字反转可能导致的溢出问题,为什么不考虑只反转 int\text{int}int 数字的一半?毕竟,如果该数字是回文,其后半部分反转后应该与原始数字的前半部分相同。...int> M2 = new Listint>() { }; int pStarIndex = p.IndexOf("*"); foreach

    12210

    脚撕LeetCode(937)Easy

    字与字之间都用 单个 空格分隔 题目数据保证 logs[i] 都有一个标识符,并且在标识符之后至少存在一个 题目意思:给你一个字符串数组,重新排序,字符串的第一个空格之前的为标识位,后面的为内容...让你将内容纯数字的放在最后(纯数字的字符串之间保持原来的顺序),纯字母的按照内容排序,如果内容一致就按照标识符排序。字符串中一定会有标识符和内容。...一、爆破法 爆破法很简单,将纯数字的内容放进一个list里面排序。纯字母内容的放入map,key为内容,value为Set,Set的内容为整个字符串。...int x=0,y=0;//x,y代表两个String中第一个有效数据所在index。...想来也是,如果想内存占用低和时间快,还是尽可能考虑能不能尽量的用数组比较好。 后续应该加强一下排序算法这块的内容。加上之前的树和图。

    23710

    JavaScript初探 二 (了解数据)

    I am is Student" ; var len = txt.length ; // 输出txt的长度:len=15 查找字符串中的字符 indexof(char):返回字符串中指定的字符首次出现的位置索引...,会返回 -1 检查字符串中的字符串 search(char) :搜索特定值的字符串,并返回匹配的位置 字符串变量.search(char); var str = "I want world...(start , length); slice()方法 slice() 提取字符串的某个开始部分并在新字符串中返回被提取的部分。...数值精度 小数最大是精确到—17位(浮点数的算法是不100%精确的) 数字和字符串相加 警告!!!...JavaScript的加法和级联都使用 + 运算符; 数字用加法+ ,字符串用 级联; 数字字符串 JavaScript 字符串可以拥有数字内容 var x = 100 ; // x是数字 var y

    94410

    基础类型转化成String

    不幸的是,这是最糟糕的实现方法了。要想知道为什么,我们得先介绍下这个字符串拼接在Java里是如何处理的。...当然了,你的第一反应是,得将这个分隔符存到一个String对象中,然后使用String.indexOf方法来进行拆分。...它内部其实是分配了一个char[],长度就是拼接后的字符串的长度,它将字符串的数据拷贝到里面,最后使用了私有的构造方法来生成了一个新的字符串,这个构造方法不会再对char[]进行拷贝,因此这个方法调用只创建了两个对象...在测试中,我们把0到100000之间的数全部进行了拼接,分别使用了String.concat, +操作符,还有StringBuilder,代码如下: String res = ""; for ( int...在Java 702和Java 715之间的版本,它是默认打开着的(在Java 6_41中还是默认关闭着的),因此可能你得手动将它打开。

    68120

    Java字符串之性能优化

    不幸的是,这是最糟糕的实现方法了。要想知道为什么,我们得先介绍下这个字符串拼接在Java里是如何处理的。...当然了,你的第一反应是,得将这个分隔符存到一个String对象中,然后使用String.indexOf方法来进行拆分。...它内部其实是分配了一个char[],长度就是拼接后的字符串的长度,它将字符串的数据拷贝到里面,最后使用了私有的构造方法来生成了一个新的字符串,这个构造方法不会再对char[]进行拷贝,因此这个方法调用只创建了两个对象...在测试中,我们把0到100000之间的数全部进行了拼接,分别使用了String.concat, +操作符,还有StringBuilder,代码如下: String res = ""; for ( int...在Java 702和Java 715之间的版本,它是默认打开着的(在Java 6_41中还是默认关闭着的),因此可能你得手动将它打开。

    71120

    JDK1.9-常用类String

    Java程序中所有的字符串文字(例如"abc")都可以被看作是实现此类的实例 String 中包括用于检查各个字符串的方法,比如用于比较字符串,搜索字符串,提取子字符串以及创建具有翻译为大写或小写的所有字符的字符串的副本...public int indexOf (String str) 该字符串第一次出现的索引位置 public String substring (int beginIndex) : 返回一个子字符串,从begin...Index开始截取字符串到字符串结尾 public String substring (int beginIndex, int endIndex) : 返回一个子字符串,从beginIndex到endIndex.../ String substring(int start):从start开始截取字符串到字符串结尾 // System.out.println(s.substring(0));...substring(int start,int end):从start到end截取字符串。

    29630

    Java字符串之性能优化

    不幸的是,这是最糟糕的实现方法了。要想知道为什么,我们得先介绍下这个字符串拼接在Java里是如何处理的。...当然了,你的第一反应是,得将这个分隔符存到一个String对象中,然后使用String.indexOf方法来进行拆分。...它内部其实是分配了一个char[],长度就是拼接后的字符串的长度,它将字符串的数据拷贝到里面,最后使用了私有的构造方法来生成了一个新的字符串,这个构造方法不会再对char[]进行拷贝,因此这个方法调用只创建了两个对象...在测试中,我们把0到100000之间的数全部进行了拼接,分别使用了String.concat, +操作符,还有StringBuilder,代码如下: String res = ""; for ( int...在Java 702和Java 715之间的版本,它是默认打开着的(在Java 6_41中还是默认关闭着的),因此可能你得手动将它打开。

    42920

    能否详细讲讲字符串呢?

    如何理解它是由字符(char,含数字)构成的?我们知道字符(char)是值类型的,每一个字符的值就是它本身字面上的含义。这个在很多计算机语言中把它称之为字面量。...x2 = x.Substring(3); // x2的结果等于def 3、函数:IndexOf() 用途:函数IndexOf(a),返回指定字符串在该实例中第一次出现的索引(位置值),索引从...mystr.Remove( startIndex, count ) :从当前字符串的指定位置开始移除指定数量的字符,并返回一个新的字符串。...mystr.Replace( oldValue, newValue ) :把当前字符串对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。...mystr.Trim():移除当前字符串对象中的所有前导空白字符和后置空白字符,返回一个前后都没有空白字符的字符串。 一般来说,你可以不用死记硬背这些方法,但你必须知道:有这些方法!

    40430
    领券