michile

导航

< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

统计

2015年12月6日

JS中的split

个人理解spilt函数是javascript中字符串和正则表达式的一个联合应用。功能是根据指定的正则表达式(如果是字符串的话也会转为正则表达式)对字符串进行分割。返回值是一个被分割后的字符串数组。
最简单额分割就是根据一个指定的字符对字符串进行分割。
如:
"a,n.c,b".split(",")//=>["a","n.c","b"]
上面这个应用非常好理解,但是看到JS权威指南的时候看到的一个例子却让我花费了点心思才想清楚。
原文:
var text="teststring: 1, 2, 3";
text.split(/\D+/)//=>["","1","2","3"]
刚开始接触到这种正则与字符串的混用确实会看起来有点难。这里就说明应该如何一步步思考得到这个结果。
首先看一个例子:
",a,b,c".split(",")//=>["","1","2","3"]
对于这个结果不用多言,但是可以作为我们思考的一个起点。
个人刚开始难以理解的就是为什么在text使用非数字匹配以后会得到一个空字符串作为第一次分割的结果。对比思考这个问题我们很容易就得到答案了。text使用/\D+/匹配的第一次应该是"teststring: ",他作为一个切割标识,但是他前面已经没有字符,相当于例子中字符串(",a,b,c")中的第一个",",所以第一次返回为""。
接下来就是字符值"1"后面开始匹配了,这次匹配的是", "这样一个字符串,此时就会把"1" "2"分割出来。这样整个思路就通顺了。

posted @ 2015-12-06 11:28 michile 阅读(692) 评论(0) 推荐(0) 编辑

2015年6月3日

阻抗匹配(转载)

摘要: 终端电阻是为了消除在通信电缆中的信号反射。在通信过程中,有两种原因因导致信号反射:阻抗不连续和阻抗不匹配。阻抗不连续,信号在传输线末端突然遇到电缆阻抗很小甚至没有,信号在这个地方就会引起反射。这种信号反射的原理,与光从一种媒质进入另一种媒质要引起反射是相似的。消除这种反射的方法,就必须在电缆的末端跨... 阅读全文

posted @ 2015-06-03 10:20 michile 阅读(552) 评论(0) 推荐(0) 编辑

2013年9月5日

shell 中调用其他的脚本

摘要: 方法有三种:1 使用source2 使用 .3 使用sh简单实验:first.sh#!/bin/bashecho 'your are in first file'second.sh#!/bin/bashecho 'your are in second file'source first.sh // . first.sh // sh first.sh执行结果:your are in second fileyour are in first file现在讨论关于参数传递:first.sh#!/bin/bashecho 'your are in first f 阅读全文

posted @ 2013-09-05 18:12 michile 阅读(7304) 评论(0) 推荐(0) 编辑

2013年2月21日

每天进步一点点 -- 又是copy pragma pack

摘要: #pragma pack(push,1)与#pragma pack(1)的区别这是给编译器用的参数设置,有关结构体字节对齐方式设置, #pragma pack是指定数据在内存中的对齐方式。这是给编译器用的参数设置,有关结构体字节对齐方式设置,#pragma pack是指定数据在内存中的对齐方式。#pragma pack (n) 作用:C编译器将按照n个字节对齐。#pragma pack ()作用:取消自定义字节对齐方式。#pragma pack (push,1)作用:是指把原来对齐方式设置压栈,并设新的对齐方式设置为一个字节对齐#pragma pack(pop) 作用:恢复对齐状态因此可见,加 阅读全文

posted @ 2013-02-21 11:26 michile 阅读(194) 评论(0) 推荐(0) 编辑

2013年2月20日

linux 交叉编译出现的问题

摘要: 描述一下我的问题吧:在宿主机上交叉编译出来一个很简单的程序hello.c :arm-none-linux-gnueabi-gcc hello.c -o hello把hello 放到我的pandaboard 上不能运行 ./hello 出来的效果是./hello is no a directory 很无语啊然后我在宿主机上面开始静态编译arm-none-linux-gnueabi-gcc hello.c -static -o hello编出来一个很大的hello 程序,放到pandaboard上面居然能够跑起来同样我又在我的pandaboard上面用这个ubuntu 上面的gcc 自己编译一个h 阅读全文

posted @ 2013-02-20 09:56 michile 阅读(304) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示