力扣(八)字符串转换整数 (atoi)

题目描述

在这里插入图片描述
在这里插入图片描述
大佬解题(+代码解释)

using System;
using System.Text.RegularExpressions;

public class Solution {
public int MyAtoi(string str) {
str = Regex.Match(str.Trim(), @"^[+-]?\d+").ToString();bool t_IsParse = int.TryParse(str, out int o_Num);if (t_IsParse) {
        return o_Num;
    }
    else {
        if (string.IsNullOrEmpty(str)) {
            return 0;
        }
        else {
            if (str[0] == '-') {
                return -2147483648;
            }
            else {
                return 2147483647;
            }
        }
    }
}
}

①str = Regex.Match(str.Trim(), @"1?\d+").ToString();
知识点:.Trim()、正则表达式Regex.Match()
·str.Trim()
功能:Trim从外向内删除空白符,直到碰到一个非空白的字符为止。
public string Trim()
{
return this.TrimHelper(WhitespaceChars, 2);
}
0 删除左边 1删除右边 其他(2) 删除两边

·正则表达式
@"2?\d+":±必选出现在首,且只能出现一次或不出现,0~9可出现多次

^:随后的模式必须位于字符串的开始位置,如果是一个多行字符串,则必须位于行首。对于多行文本(包含回车符的一个字符串)来说,需要设置多行标志
?:匹配前面的字符0次或1次
[ ]:括号中的任一字符
\d:从0-9的任一数字
+:匹配前面的字符0次或多次
②bool t_IsParse = int.TryParse(str, out int o_Num);
经过正则表达式筛选后的字符串str是否可以转化为整数,可以的话说明为整数,否,则数字中则为null或越界


  1. +- ↩︎

  2. +- ↩︎

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值