【字符串提取】C#提取字符串中的第一个数字字符串
转载自:blog.163.com/wslngcjsdxdr@126/blog/static/1621962302013102153649671/
/// <summary>
/// 提取字符串中的第一个数字字符串,多个数字相邻时视为一个字符串
/// </summary>
/// <param name="str">字符串</param>
/// <param name="strNumPre">[第一个数字字符串]de前边非数字部分</param>
/// <param name="strNum">[第一个数字字符串](含符号)</param>
/// <param name="strAfter">提取后余下的字符串</param>
/// <returns>是否找到符合条件的字符串</returns>
public static bool ExtraFirstNum(string str, ref string strNumPre, ref string strNum, ref string strAfter)
{
strNumPre = string.Empty;
strNum = string.Empty;
strAfter = string.Empty;
bool bFindNum = false;
for (int i = 0; i < str.Length; i++)
{
if (Char.IsNumber(str, i) || Char.IsPunctuation(str, i))
{// 如果是字符串 || 符号;
strNum += str.Substring(i, 1);
bFindNum = true;
}
else
{
if (bFindNum)
{
strAfter = str.Substring(i, str.Length - i);
break;
}
else
{
strNumPre += str.Substring(i, 1);
}
}
}
return bFindNum;
}