免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖

[学习共享] 魔教妖人30行powershell代码,尽解“掐头,去尾,取中间”问题 [复制链接]

论坛徽章:
6
数据库技术版块每日发帖之星
日期:2015-11-27 06:20:00程序设计版块每日发帖之星
日期:2015-12-01 06:20:00每日论坛发贴之星
日期:2015-12-01 06:20:0015-16赛季CBA联赛之佛山
日期:2017-03-26 23:38:0315-16赛季CBA联赛之江苏
日期:2017-07-17 10:08:4415-16赛季CBA联赛之北京
日期:2018-03-04 17:01:50
发表于 2018-02-15 19:49 |显示全部楼层
回复 10# 爻易

建议使用 POWERSHELL

不论是否自主
POWER
就是王道

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-05 16:13:092015年迎新春徽章
日期:2015-03-05 16:13:092015小元宵徽章
日期:2015-03-06 15:58:1815-16赛季CBA联赛之浙江
日期:2016-11-05 14:38:4115-16赛季CBA联赛之新疆
日期:2016-11-11 18:38:06
发表于 2018-02-16 09:34 |显示全部楼层
回复 11# dorodaloo

怕我是霸道,自主是王道

技能没点之前是学习使用,技能发展后是自主实现,这是进步的体现

论坛徽章:
59
2015七夕节徽章
日期:2015-08-24 11:17:25ChinaUnix专家徽章
日期:2015-07-20 09:19:30每周论坛发贴之星
日期:2015-07-20 09:19:42ChinaUnix元老
日期:2015-07-20 11:04:38荣誉版主
日期:2015-07-20 11:05:19巳蛇
日期:2015-07-20 11:05:26CU十二周年纪念徽章
日期:2015-07-20 11:05:27IT运维版块每日发帖之星
日期:2015-07-20 11:05:34操作系统版块每日发帖之星
日期:2015-07-20 11:05:36程序设计版块每日发帖之星
日期:2015-07-20 11:05:40数据库技术版块每日发帖之星
日期:2015-07-20 11:05:432015年辞旧岁徽章
日期:2015-07-20 11:05:44
发表于 2022-01-10 09:11 |显示全部楼层
张无忌何在。

论坛徽章:
0
发表于 2022-01-15 17:47 |显示全部楼层
本帖最后由 本友会机友会摄友会 于 2022-01-15 17:57 编辑

吼~哈~吼~哈~~~
有1个西方古老故事让我来告诉你,
有1种古代英文字符串处理,它匪常聊不齐
他威力不可阻挡,它所向无敌,
他曾经胸怀大志还远征perl

啊烧,啊烧,啊烧脑正则~~~
它有()定义,有\转义,有[]排除,遇*还有贪,啊贪,啊贪婪正则~~

不知道有多少,勤奋地少年,都学不会它呀,哦哈哈哈哈~还有人说不难,哦哈哈哈哈~

--------【我就是那个勤奋少年,我学不会正则,总记不住,即使捡起来还总忘。为了治疗我这癌症,我发明了ps找算替v3版】----------

根据手册:ps找算替_v3_readme.html

《ps找算替v3》主要增加了一个回调函数:
  1. function global:计算代码
  2. {
  3.         $a = $global:当前找算替文件_行模式[$global:行号]
  4.         $b = $a[19..$a.length] -join ''
  5.         return $b
  6. }
复制代码

函数名字固定为【global:计算代码】,用来解决正则问题。

增加了几个公共变量:
-不用替换成啥_而用ps代码替换 布尔,默认=假。
当值为真时,参数【替换成啥】失效。只能用下列【全局变量】:
参数别名【-usefunction】
【查找模式=行】时,将返回
$global:行号
$global:当前找算替文件_行模式   变量类型=数组


【查找模式=全文字符串】时,将返回
$global:全文字符串查找模式_字符串开始字符_在文本中的位置
$global:全文字符串查找模式_字符串结束字符_在文本中的位置
$global:当前找算替文件_字符串模式   变量类型=字符串


【查找模式=匹配头尾】时,将返回
$global:匹配头尾查找模式_块首开始字符_在文本中的位置
$global:匹配头尾查找模式_块尾结束字符_在文本中的位置
$global:匹配头尾查找模式_找到的字符串   变量类型=字符串
$global:当前找算替文件_匹配头尾模式   变量类型=字符串


工作原理就是:
【匹配头尾】或【行】,或【字符串】找到东西后,
会把找到的结果存入那几个变量。并运行你预先定义好的回调函数,进行进一步找替,或者你的处理。把函数return的结果,作为【替换成啥】去替换。
说白了就是你自己写业务函数。在你写的业务函数中,可以再次定义函数,再次调用psed.ps1,可以调用其他脚本,数据库等。
函数可以调用自身=递归,把找替层层分解,而且你写的函数,可以重用,可以模块化。
有了这个回调函数,可以让你处理【很复杂找替】,而【永不需要正则】。

记住【psed.ps1】,,不会用就看手册,还可以跟我分享心得。


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP