小编I-S*_*lot的帖子

如何使用powershell将包含2个数字的字符串转换为货币?

我的文本文件包含由"+"符号分隔的2个数字.试图找出如何用货币等价替换它们.
示例字符串:

20 + 2将转换为0.20美元+ 0.02美元

1379 + 121将是> $ 13.79 + $ 1.21 USD

400 + 20将是4.00美元+ 0.20美元

等等.

我尝试使用几个角度,但它们不起作用或提供奇怪的结果.我试图通过尝试找到我认为会出现的所有模式来做到这一点.

.\Replace-FileString.ps1 "100+10" '$1.00+$0.10' $path1\*.txt -Overwrite
.\Replace-FileString.ps1 "1000+100" '$10.00+$1.00' $path1\*.txt -Overwrite
.\Replace-FileString.ps1 "300+30" '$3.00+$0.30' $path1\*.txt -Overwrite
.\Replace-FileString.ps1 "400+20" '$4.00+$0.20' $path1\*.txt -Overwrite
Run Code Online (Sandbox Code Playgroud)

或者这只是不起作用.

Select-String -Path .\*txt -Pattern '[0-9][0-9]?[0-9]?[0-9]?[0-9]?\+[0-9][0-9]?[0-9]?[0-9]?[0-9]?' | ForEach-Object  {$_ -replace ", ", $"}  {$_ -replace "+", "+$"}
Run Code Online (Sandbox Code Playgroud)

regex powershell replace

2
推荐指数
1
解决办法
376
查看次数

标签 统计

powershell ×1

regex ×1

replace ×1