JavaScript 字符串操作
String 对象
String 对象用于处理文本(字符串)
创建字符串或String 对象属性
创建字符串
var myStr = "Hello, String!";
创建字符串对象
var strObj = new String("Hello, String!");
使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为object。
还有一种创建方式等同于 var myStr = "Hello,String!";
var myStr = String("Hello,String!")
两种方式创建的myStr都是一个String类型的变量,而strObj是一个object型的对象
但是,以上三种方式定义的变量,在JavaScript字符串方法的使用上并没有区别。
但是记住一点,不要随意创建 String 对象。它会拖慢执行速度,并可能产生其他副作用:
String 对象属性
constructor 对创建该对象的函数的引用
prototype 添加属性
length 长度
前两个是大多数对象都拥有的属性,而length是String特有的,该属性声明了该字符串中的字符数。
String 对象方法
因为自己勉强写的需要一些字符串上匹配正则的操作 所以对字符串和正则都稍微研究了下
match()
match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
语法
stringObject.match(searchvalue)
stringObject.match(regexp)
searchvalue 必须。规定要检索的字符串值。
regexp 必须。规定要匹配的模式的 RegExp 对象。如果该参数不是 RegExp 对象,则需要首先把它传递给 RegExp 构造函数,将其转换为 RegExp 对象。
在使用searchvalue对stringObject进行检索时就是检索searchvalue是否为stringObject的子串是则输出searchvalue 否则输出null
使用regexp正则表达式来检索字符串,并且js里可以使用perl风格的表达式如 /表达式内容/参数
参数列表
i 完成不区分大小写的搜索
g 查找所有出现(all occurrences,完成全局搜索)
m 将一个字符串视为多行(m就标识多multiple)。默认情况下,^和$字符串匹配字符串中的最开始和最末尾。使用m修饰符将使^和$匹配字符串中每行的开始
s 将一个字符串视为一行,忽略其中的所有换行符;他与m修饰符正好相反
X 忽略正则表达式中的空白和注释
U 第一次匹配后停止,许多量词很"贪婪",将尽可能的完成匹配。而不是在第一次匹配后停止。利用这个修饰符,可以让它们"不再贪婪"