获取一个字符串了的第二个数字该怎么做

打中单的ADC 2018-04-11 02:17:34
比如有一个字符串12~234vswx 我想把234取出来请问有什么好的方法吗?
...全文
1294 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ctaosharpzai 2018-04-20
  • 打赏
  • 举报
回复
字符串本身的方法就搞定呀,substring&indexof
You冷 2018-04-14
  • 打赏
  • 举报
回复
用substring()截取‘’~‘’后面前三位字符就可以了
  • 打赏
  • 举报
回复
~是这里固定的分隔符吗?
mlxwl2013 2018-04-14
  • 打赏
  • 举报
回复
正则表达式:
string r=Regex.Match(@"\d+\D+(\d+)","xyz123abcd45").Group(1).Value;
就是个菜鸟 2018-04-13
  • 打赏
  • 举报
回复
引用 3 楼 xiaozhihui5535 的回复:

string str ="12~234vswx";
MatchCollection m = Regex.Matches(str, @"(\d+)");
int[] arr = new int[m.Count];
for (int i = 0; i < m.Count; i++)
{
     arr[i] = int.Parse(m[i].Value);
}
这哥们的方法最好,你要从第几个开始,for循环 i 自己过滤就行了。比如:你需要从第二个开始,i=1 开始循环,把第一个过滤掉
BXS_null 2018-04-13
  • 打赏
  • 举报
回复
一楼的方法可以,遍历字符串的每个字符,将能转换成int类型的加起来,知道遇到不能转换的就将前面加起来的存入数组,然后清空接着遍历,知道遇到能转换成功的再加起来,一直遇到不能转换的,加起来的就是你需要的整个字符串的第二个数字了
YangYun 2018-04-13
  • 打赏
  • 举报
回复
substring就可以搞定啊
return false 2018-04-11
  • 打赏
  • 举报
回复
需求简单,看你用来干嘛
_萧萧 2018-04-11
  • 打赏
  • 举报
回复

string str ="12~234vswx";
MatchCollection m = Regex.Matches(str, @"(\d+)");
int[] arr = new int[m.Count];
for (int i = 0; i < m.Count; i++)
{
     arr[i] = int.Parse(m[i].Value);
}
peng2739956 2018-04-11
  • 打赏
  • 举报
回复
只是去234简单,但是你的具体需求是什么 最好说明白。如果仅仅取234 用substring 都能做到 一句代码的事情
Ccool321 2018-04-11
  • 打赏
  • 举报
回复
string str = "12~234vswx "; string q=""; ArrayList arr = new ArrayList(); for (int i = 0; i < str.Length; i++) { int re; bool it=int.TryParse(str[i].ToString(),out re); if (it) { q += re; if (i == str.Length - 1) arr.Add(q); } else { if (!string.IsNullOrEmpty(q)) { arr.Add(q); q = ""; } } }

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧