当前位置: 首页 > 知识库问答 >
问题:

为什么'^\S'不处理第一个字符或空值?

尉迟边浩
2023-03-14

我有一个变量,它保存表中的两个值(使用 -expand 属性

$variable = "value1,value2"

我进行了一次检查,以确保$variable没有返回任何空值

if(($variable.Split(",") | Where { $_ -match '^\S'}).count -lt 1)
{write "no value!"}
else
{write $variable}

但出于某种原因,即使'^\S'应该只检查第一个字符/索引是否有空格,它也会输出"

没有价值

“条件结果…它应该输出

价值1,价值2

相反。。。

不仅如此,如果表列值为<code>NULL

为什么??

共有2个答案

陶飞鸿
2023-03-14

\S 是非白色空间。

< code>\s是空白。

从烈
2023-03-14

检查“null或empty”的另一种方法是使用< code >[string]isnulerempty()静态方法。类似这样的东西...

$Var1 = "value1,value2"
$Var2 = ''
$Var3 = $Null

$Var1, $Var2, $Var3 |
    ForEach-Object {
        $_
        [string]::IsNullOrEmpty($_)
        }

输出

value1,value2
False

True
True

请注意,最后一个$Null没有产生新行,而第二个项目[一个空字符串]产生了。

 类似资料:
  • 问题内容: 我有一个带有3个嵌套数组的简单php结构。 我不使用特定的对象,而是使用2个嵌套循环构建数组。 这是我要转换为Json的数组的var_dump的示例。 在另一个脚本中,我具有类似的结构并且工作正常。所以我不明白为什么在这里不起作用。 编辑:似乎有编码问题。当返回ASCII,该作品但当它返回UTF8,它不工作了。 Edit2:返回表示:格式错误的UTF-8字符,可能编码不正确。 问题答案

  • 问题内容: 这可能是最简单的事情之一,但我看不到自己在做错什么。 我的输入包括一个带有数字的第一行(要读取的行数),一串包含数据的行和最后一行仅包含\ n的行。我应该处理此输入,并在最后一行之后做一些工作。 我有这个输入: 对于读取输入,我有以下代码。 我的问题是为什么我什么都不打印?程序读取第一行,然后不执行任何操作。 问题答案: 不读取以下换行符,因此第一个(返回 当前 行的其余部分 )将始终

  • 为什么在那里插入? 如果没有一个好的理由:我能用什么方法摆脱它吗? 如果您想使用以下示例:https://godbolt.org/z/74ycy63se

  • 我使用Netty 4.1.16创建一个服务器。我建立一个管道: 在稍后的代码中,我将创建一个对传入消息的字符串响应,并尝试使用以下命令将其写入ChannelHandlerContext: ... 我的通灵之手是背景。writeAndFlush(字符串消息)失败,原因是 正如我所理解的文档和示例,WriteAndFlush应该向管道写入一个字符串,并且字符串编码器应该在将该字符串转发到套接字进行传输

  • 问题内容: 为什么要得到一个空字符串?我的代码是: 此代码警报,但我想得到,我怎么了?谁能帮我? 更新 我更改了CSS函数,现在可以正常使用了: 问题答案: 该属性用于获取直接放置在元素上的样式。它不会从样式表中计算样式。

  • 问题内容: 例如: 问题答案: 这是因为从索引0 in开始的长度为0的子字符串等于空字符串: 当然,任何字符串的长度为零的 每个 子字符串都等于空字符串。