记录学习过程中的点点滴滴
string
awk学习笔记【一】
六 4th
今天主要介绍下awk中内置的String函数和awk中内置的变量。
awk中内置的string函数
- index(in, find): 在 string “in”中查找 find 的第一次出现位置,返回的find在in中第一个字符出现的位置,从1开始
awk 'BEGIN { print index("peanut", "an") }' # 打印3
- length(string) : 返回字符串的长度,如果是number类型,返回对应字符的长度
- match(string, regexp) : 正则匹配regexp的规则,如果匹配,则返回对应第一个字符的位置
- split(string, array, fieldsep) : 按照fieldsep分割字符串,并将结果放置到array中,array的下标从1开始
split("yaronspace.cn", fields, ".") # fields[1] = "yaronspace" # fields[2] = "cn"
- sprintf(format, expression1, …): 格式化字符串
- sub(regexp, replacement, target): 将第一个匹配的regexp的部分使用replacement替代,替代后的结果还是保存在target变量中。所以target必须是变量,不可为字符常量
str = "yaronspace.cn"; sub(/yaronspace/, "xiaofangdeng", str); # str="xiaofengdeng.cn"
使用&符号引用匹配regexp部分的字符长,示例如下:
str = "yaronspace.cn"; sub(/yaronspace/, "&_xiaofangdeng", str); # str = "yaronspace_xiaofangdeng.cn"
- gsub(regexp, replacement, target): 与sub功能类似,但是会替换所有匹配regexp的子串,g代表”global”的含义
- substr(string, start, length) : 获取子串
- tolower(string) : 转化为小写
- toupper(string) : 转化为大写
awk中内置的变量
- FS: Input Field Seperator variable: 对每行记录的分割符,可以通过-F参数修改,或者在awk文件中,直接使用FS=”XX”进行修改
- OFS : Output Field Seperator variabble: 输出时默认每个记录的分隔符,默认为空格
$ awk -F':' '{print $3,$4;}' /etc/passwd # $3 $4以空格分割 $ awk -F':' 'BEGIN{OFS="_"} {print $3, $4}' # 此时$3 $4是以_分割
- RS : Input Record Seperator variable: 记录的默认分隔符,默认为\n换行符
可以修改,如将其修改为\n\n,以两个空行为分隔符 - ORS: Ouput Record Seperator variable: 默认的记录的输出的分隔符,默认为\n
- NR: Number of records variable: 当前已读取记录数,默认情况为当前的行数
- NF: Number of fields vairable : 当前记录的域的个数
- FILENAME : Name of the current input file
- FNR: Number of Records relative to the current input file : 当awk的输入文件只有一个时,NR == FNR;当awk的输入文件时多个时,FNR是当前文件的当前行数,NR是全局的行数
参考文章:
1. http://www.staff.science.uu.nl/~oostr102/docs/nawk/nawk_92.html
js中substring函数的用法
十二 14th
The Javascript substring function is very similar to that of PHP. The first parameter is the start position and the second parameter is the end position. The first character in a javascript string is position 0.
第一个参数是开始位置,第二个参数是结束位置,位置是从0开始计数的。
Here is a simple example:
var year = birthday.substring(0,4)
var month = birthday.substring(5,7)
var day = birthday.substring(8,10)
本文地址:http://www.yaronspace.cn/blog/index.php/archives/304
js中的split函数的用法
十二 14th
split 方法
将一个字符串分割为子字符串,然后将结果作为字符串数组返回。
stringObj.split([separator[, limit]])
参数
stringObj
必选项。要被分解的 String 对象或文字。该对象不会被 split 方法修改。
separator
可选项。字符串或 正则表达式 对象,它标识了分隔字符串时使用的是一个还是多个字符。如果忽略该选项,返回包含整个字符串的单一元素数组。
limit
可选项。该值用来限制返回数组中的元素个数。
说明
split 方法的结果是一个字符串数组,在 stingObj 中每个出现 separator 的位置都要进行分解。separator 不作为任何数组元素的部分返回。
示例
下面的示例演示了 split 方法的用法。
function SplitDemo(){ var s, ss; var s = "The rain in Spain falls mainly in the plain.";
//
在每个空格字符处进行分解。ss = s.split(" ");
return(ss);
} 本文地址:
http://www.yaronspace.cn/blog/index.php/archives/301
java中的日期由String转换为Date
十二 11th
导入类包括:
import java.text.DateFormat;
import java.text.SimpleDateFormat;
使用:
//定义一种日期格式,注意DateFormat是一个接口
DateFormat formater = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
String strDate = “2009-12-10 23:48:55″;//string类型的date
Date date = null;//转化保存的date
try
{
date = formater.parse(strDate);
}
catch(Exception e)
{
System.out.println(e.getMessage);
}
附:java中的日期格式
字母 日期或时间元素 表示 示例
G Era 标志符 Text AD
y 年 Year 1996 ; 96
M 年中的月份 Month July ; Jul ; 07
w 年中的周数 Number 27
W 月份中的周数 Number 2
D 年中的天数 Number 189
d 月份中的天数 Number 10
F 月份中的星期 Number 2
E 星期中的天数 Text Tuesday ; Tue
a Am/pm 标记 Text PM
H 一天中的小时数(0-23) Number 0
k 一天中的小时数(1-24) Number 24
K am/pm 中的小时数(0-11) Number 0
h am/pm 中的小时数(1-12) Number 12
m 小时中的分钟数 Number 30
s 分钟中的秒数 Number 55
S 毫秒数 Number 978
z 时区 General time zone Pacific Standard Time ; PST ; GMT-08:00
Z 时区 RFC 822 time zone -0800
java中String转化为Date
十二 1st
需求:已知String startTime = “12:00:00″;String endTime = “13:10:44″;计算endTime-startTime的差值,这里如果手工算的话比较麻烦,可以用java.text.DateFormat来将String的startTime和endTime类型转化为Date型,然后再getTime()获得对应时间的毫米数,最后相减即可。 更多 >
java-string-第一个字母大写的实现
十一 19th
code:
String name = “yaronspace”;
name = name.substring(0,1).toUpperCase() + name.substring(1);
output:
Yaronspace
为STL中的std::string添加trim函数的实现
十一 14th
代码如下:
//自定义trim函数
string trim(string& str)
{
string::size_type pos = str.find_last_not_of(‘ ‘);
if(pos != string::npos)
{
str.erase(pos + 1);
pos = str.find_first_not_of(‘ ‘);
if(pos != string::npos) str.erase(0, pos);
}
else str.erase(str.begin(), str.end());
return str;
std::string的split函数的自定义实现
十一 14th
std::string中未定义split函数,网上找到一种方法实现,分享之
//自定义实现split函数
void split(std::string& s, std::string& delim,std::vector< std::string >* ret)
{
size_t last = 0;
size_t index=s.find_first_of(delim,last);
while (index!=std::string::npos)
{
string tt = s.substr(last,index-last);
tt.
ret->push_back();
last=index+1;
index=s.find_first_of(delim,last);
}
if (index-last>0)
{
ret->push_back(s.substr(last,index-last));
}
}
近期评论