如何在特定字符串中找到一个或多个数字
本文关键字:一个 数字 字符串 | 更新日期: 2023-09-27 18:11:26
我需要在一个特定的字符串集中找到一个或多个数字。我的字符串必须是这种类型的:
- 首先是
int
或uint
,我需要知道它是否有u
。 - 第二个总是出现
integer
号 - 其余部分是可选的:a,可能会出现"p"或"d"b.如果有"p"或"d",则会出现第二个数字。
例子:
"uint16","int32","uint12p2","int32p1","int14d100","uint13d1000"
我需要提取所有数字(一个或两个)和一个boolean
表示是否有u作为第一个字符。
我正试图这样做与regexp
。我以前从来没用过。
是否有一个很好的参考来学习正则表达式?
谢谢。
您最好的Regex参考可能是www.regular-expressions.info:
根据我的理解,你想从字符串中获得数字,并确定这些数字是uint
还是int
,请参阅以下伪代码:
private void f(string str)
{
// True if the string contains 'u'
bool u = false;
string numbersout:
string numbers = "1234567890";
if (str[0] == 'u') bool = true;
for (int i = 1; i < str.Length(); i++)
for (int j = 0; j < numbers.Length(); j++)
if (str[i] == numbers[j]) numbersout += str[i];
}
这应该可以工作。它检查字符串中的每个数字,然后将其添加到另一个字符串中。如果是int类型,bool值"u"也会被设置为true。