string - Powershell将字符串转换为整数
问题描述
这与我的上一个问题相似,但有一点变化。再一次,我似乎无法克服转变。
$myVar = "4MB"
$myVarInt = ([convert]::ToInt32($myVar, 10))*1MB
$myVarInt
给出错误:使用“2”参数调用“ToInt32”的异常:“其他不可解析的字符位于字符串的末尾。”
我认为这是 $myVar 引起问题的引号。我怎样才能让它工作?
解决方案
您可以使用以下内容:
$myVarInt = [int]($myVar -replace '\D')*1MB
如果字符串包含数字和非数字的混合,您可以正则表达式匹配非数字与\D
. 该-replace
运算符用于将正则表达式匹配的字符替换为另一个字符串。的组合-replace '\D'
将用空字符串替换所有非数字,无论它们在字符串中的位置如何。
默认情况下[int]
,强制转换将尝试转换为Int32
.
推荐阅读
- ios - WatchKit 会话可访问,但消息从不发送
- portable-executable - PE 格式的重叠部分
- scale - plotly:如何缩小 y 轴
- python - 如何用特定时间迭代数字?
- reactjs - 当我尝试从我的 React 前端获取 Django 用户登录会话时,它无法访问
- c# - 发布 docker 映像时的构建选项问题
- delphi - 从多个组合框中应用多个过滤器
- javascript - 我如何验证html输入是否> 0并且不是字符串
- aop - LoggingAspect - WebServiceTemplate.marshalSendAndReceive
- regex - 在 while 函数的串行输出中搜索特定单词