我正在编写一个脚本,该脚本本质上是从另一个工具生成的excel文档中读取数据。它以下面列出的格式列出文件的年龄。我的问题是我想处理每个单元格值并根据该值更改单元格颜色。因此,任何超过1年的东西都会变成RED,超过90天的时间会变成黄色\橙色。
因此,在进行了一些研究之后,我选择使用if
语句来确定何时大于0年似乎有效,但是当到达天数部分时,我不确定如何如果到达d
,则仅提取每个单元格中y
左侧的数字部分,如果它只是停止,或者仅在$_
包含{{ 1}},那么我可以进一步处理该值为d
吗?我不确定如何仅在字符左边的数字中提取可变长度字符串。我考虑过结合使用以下方法来查找字符并返回到-gt 90
或其他内容。
Find character position and update file name
可能的年龄格式:
1h14m
y
[regex]$years = "\d{1,3}[0-9]y"
[regex]$days_90 = "\d{0,3}[0-9]d"
if ( $( A$_ -match "$years") -eq $True ) {
$($test_home).$("Last Accessed") | ForEach-Object { $( $($_.Contains("y") -eq $True ) { New-ConditionalText -Text Red } }
答案 0 :(得分:0)
您所追求的是积极的前瞻性和后瞻性。有效地,它获得两个字符或两个字符集之间的文本。如果您要使用一组格式一致的数据,那将非常方便。
<Controller render={(props) => (
<div className="ref-one">
<div className="ref-two">
<Stepper index={props.index} />
<p>one</p>
<p>two</p>
<p>three</p>
<h1>{props.title}</h1>
</div>
</div>
)}
/>
[regex]$days_90 = '(?<=y).*?(?=d)'
匹配任何不带换行符的字符。.
匹配0个或多个前面的令牌。*
使正则表达式变得懒惰,并尝试尽可能少地匹配。