首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >字符串变量位置在写主机中被覆盖。

字符串变量位置在写主机中被覆盖。
EN

Stack Overflow用户
提问于 2018-05-29 15:42:42
回答 1查看 56关注 0票数 1

如果我运行下面的代码,$SRN可以编写为输出或添加到另一个变量,但是尝试包含另一个变量或常规文本会导致它从行的开头被覆盖。我假设这与我最初分配$autocode和$SRN的方式有关,但不知道它想要做什么。

代码语言:javascript
复制
# Load the property set to allow us to get to the email body.
$item.load($psPropertySet) # Load the data.
$bod = ($item.Body.Text -creplace '(?m)^\s*\r?\n','') -split "\n" # Get the body text, remove blank lines, split on line breaks to create an array (otherwise it is a single string).
$autocode = $bod[4].split('-')[2] # Get line 4 (should be Title), split on dash, look for 3rd element, this should contain our automation code.
$SRN = $bod[1] -replace 'ID: ','' # Get line 2 (should be ID), find and replace the preceding text.

# Skip processing if autocode does not match our list of handled ones.
if ($autocode -cin $autocodes)
{       
    write-host "$SRN $autocode"
    write-host "$autocode $SRN"
    write-host "$SRN test"
    $var = "$SRN $autocode"
    $var
}

代码会导致这样的结果,您可以看到,如果$SRN不在行的开头,那么就可以了。不确定额外的空间是从哪里来的:

代码语言:javascript
复制
 KRNE8385
KRNE SR1788385
 test8385
 KRNE8385

我希望看到这样的情况:

代码语言:javascript
复制
SR1788385 KRNE
KRNE SR1788385
SR1788385 test
SR1788385 KRNE
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-29 17:58:55

LotPings指出了正确的路径,这两个变量都有"0D“或"\r”。我的regex替换只是在空行上删除它们,我只在"\n“上拆分数组。将原始代码中的第3行更改为下面的代码似乎解决了这个问题。第一次看到格式-十六进制,但它似乎是最好的疑难解答这样的问题。

代码语言:javascript
复制
$bod = ($item.Body.Text -creplace '(?m)^\s*\r?\n','') -split "\r\n"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50588241

复制
相关文章

相似问题

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