首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >powershell -split('')指定一个新行

powershell -split('')指定一个新行
EN

Stack Overflow用户
提问于 2016-08-30 22:36:32
回答 6查看 104.9K关注 0票数 36
代码语言:javascript
运行
复制
Get-Content $user| Foreach-Object{
   $user = $_.Split('=')
   New-Variable -Name $user[0] -Value $user[1]}

我试图处理一个脚本,并让它将一个文本文件拆分成一个数组,根据每个新行将文件拆分

我应该把"=“号改为什么?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-08-30 22:38:26

这取决于文本文件的确切编码,但是[Environment]::NewLine通常能做到这一点。

代码语言:javascript
运行
复制
"This is `r`na string.".Split([Environment]::NewLine)

输出:

这是 一根绳子。

票数 70
EN

Stack Overflow用户

发布于 2018-05-18 16:38:35

String.Split方法的问题是它在给定字符串中的每个字符上拆分。因此,如果文本文件有CRLF行分隔符,则会得到空元素。

更好的解决方案,使用运算符

代码语言:javascript
运行
复制
"This is `r`na string." -Split "`r`n" #[Environment]::NewLine, if you prefer
票数 27
EN

Stack Overflow用户

发布于 2018-10-19 15:57:14

您可以使用String.Split方法在CRLF上拆分,而不用使用分裂(String[],StringSplitOptions)方法重载来结束空元素。

有几种不同的方法可以使用这种方法来实现。

备选案文1

代码语言:javascript
运行
复制
$input.Split([string[]]"`r`n", [StringSplitOptions]::None)

这将在由CRLF表示的合并的`r`n (传输返回和线路馈送)字符串上拆分。[StringSplitOptions]::None选项将允许Split方法返回数组中的空元素,但是如果所有行都以CRLF结尾,则不应该有任何行。

选项2

代码语言:javascript
运行
复制
$input.Split([Environment]::NewLine, [StringSplitOptions]::RemoveEmptyEntries)

这将在上分裂,或者在上,或者在载波返回上,或者在Line上。因此,数组将以带有实际字符串的空元素结束。[StringSplitOptions]::RemoveEmptyEntries选项指示Split方法不包含空元素。

票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39252620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档