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

为什么'^\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函数,现在可以正常使用了: 问题答案: 该属性用于获取直接放置在元素上的样式。它不会从样式表中计算样式。

  • 问题内容: 这是代码片段: 输出为: 为什么会这样呢?我认为是,要么,或。 这里发生了什么? 问题答案: 二是算术加法,不是字符串连接。您必须执行或之类的操作,或使用和方法来确保操作符中的至少一个是用于字符串串联的运算符。 [JLS 15.18加法运算符](http://java.sun.com/docs/books/jls/third_edition/html/expressions.html#