[Javascript] How to use JavaScript's String.replace
In JavaScript, you can change the content of a string using the replace method. This method signature is overloaded with a bunch of different ways to do string replacement in JavaScript. This lesson covers the entire API (including an interestingDSL for the replacement string).
console.clear() simpleStringReplace()
simpleRegexReplace()
globalRegexReplace()
regexReplaceGroup()
advancedRegexReplaceGroup()
simpleFunctionReplacer()
regexFunctionReplacerGroup() console.log('Tests passed') function simpleStringReplace() {
var input = 'Perl is the best programming language'
var expected = 'JavaScript is the best programming language' var result = input.replace('Perl', 'JavaScript')
expect(result).toEqual(expected)
} function simpleRegexReplace() {
var input = 'My phone number is 123-555-3344'
var expected = 'My phone number is xxx-xxx-xxxx' var result = input.replace(/\d{3}-\d{3}-\d{4}/, 'xxx-xxx-xxxx')
expect(result).toEqual(expected)
} function globalRegexReplace() {
var input = 'The basketball is round, and the basketball is bouncy'
var expected = 'The soccerball is round, and the soccerball is bouncy' var result = input.replace(/basketball/ig, 'soccerball')
expect(result).toEqual(expected)
} function regexReplaceGroup() {
var input = 'Search with [Google](https://google.com), tweet with [Twitter](https://twitter.com)'
var expected = 'Search with <a href="https://google.com">Google</a>, tweet with <a href="https://twitter.com">Twitter</a>' var result = input.replace(/\[(.*?)\]\((.*?)\)/g, '<a href="$2">$1</a>')
expect(result).toEqual(expected)
} function advancedRegexReplaceGroup() {
var input = 'foobarbaz'
var expected = 'foofoo-bar-$-bazbaz' var result = input.replace('bar', '$`-$&-$$-$\'')
expect(result).toEqual(expected)
} function simpleFunctionReplacer() {
var input = 'theAnswerToLifeTheUniverseAndEverything'
var expected = 'the-answer-to-life-the-universe-and-everything' var result = input.replace(/[A-Z]/g, upperToHyphenLower)
expect(result).toEqual(expected) function upperToHyphenLower(match) {
return '-' + match.toLowerCase();
}
} function regexFunctionReplacerGroup() {
var input = 'These are the replacer arguments'
var expected = 'These are the replacer arguments: replacer, arguments, 14, These are the replacer arguments' var result = input.replace(/(replacer) (arguments)/, replacer) expect(result).toEqual(expected) function replacer(match, group1, group2, offset, wholeString) {
return match + ': ' + [group1, group2, offset, wholeString].join(', ')
}
} console.clear() simpleStringReplace()
simpleRegexReplace()
globalRegexReplace()
regexReplaceGroup()
advancedRegexReplaceGroup()
simpleFunctionReplacer()
regexFunctionReplacerGroup() console.log('Tests passed') function simpleStringReplace() {
var input = 'Perl is the best programming language'
var expected = 'JavaScript is the best programming language' var result = input.replace('Perl', 'JavaScript')
expect(result).toEqual(expected)
} function simpleRegexReplace() {
var input = 'My phone number is 123-555-3344'
var expected = 'My phone number is xxx-xxx-xxxx' var result = input.replace(/\d{3}-\d{3}-\d{4}/, 'xxx-xxx-xxxx')
expect(result).toEqual(expected)
} function globalRegexReplace() {
var input = 'The basketball is round, and the basketball is bouncy'
var expected = 'The soccerball is round, and the soccerball is bouncy' var result = input.replace(/basketball/ig, 'soccerball')
expect(result).toEqual(expected)
} function regexReplaceGroup() {
var input = 'Search with [Google](https://google.com), tweet with [Twitter](https://twitter.com)'
var expected = 'Search with <a href="https://google.com">Google</a>, tweet with <a href="https://twitter.com">Twitter</a>' var result = input.replace(/\[(.*?)\]\((.*?)\)/g, '<a href="$2">$1</a>')
expect(result).toEqual(expected); // $2 --> (.*?) --> (https://google.com)
// $1 --> [.*?] --> [Google]
} function advancedRegexReplaceGroup() {
var input = 'foobarbaz'
var expected = 'foofoo-bar-$-bazbaz' var result = input.replace('bar', '$`-$&-$$-$\'')
expect(result).toEqual(expected)
} function simpleFunctionReplacer() {
var input = 'theAnswerToLifeTheUniverseAndEverything'
var expected = 'the-answer-to-life-the-universe-and-everything' var result = input.replace(/[A-Z]/g, upperToHyphenLower)
expect(result).toEqual(expected) function upperToHyphenLower(match) {
return '-' + match.toLowerCase();
}
} function regexFunctionReplacerGroup() {
var input = 'These are the replacer arguments'
var expected = 'These are the replacer arguments: replacer, arguments, 14, These are the replacer arguments' var result = input.replace(/(replacer) (arguments)/, replacer) expect(result).toEqual(expected) function replacer(match, group1, group2, offset, wholeString) {
return match + ': ' + [group1, group2, offset, wholeString].join(', ')
}
}
[Javascript] How to use JavaScript's String.replace的更多相关文章
- <JavaScript语言精粹>--<读书笔记三>之replace()与正则
今天有人问我repalce(),他那个题目很有意思.我也不会做,于是我就去查,结果发现就是最基础的知识的延伸. 所以啊最基础的知识才是很重要的,千万不能忽略,抓起JS就写代码完全不知到所以然,只知道写 ...
- javascript基础知识梳理-Number与String之间的互相转换【转】
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- how to convert a number to a number array in javascript without convert number to a string
how to convert a number to a number array in javascript without convert number to a string 如何在不将数字转换 ...
- javascript内置对象一:String
<script> //string.split("-"),以字符"-"把string拆分成一个数组.返回一个数组 //array.joi ...
- [转]String.Replace 和 String.ReplaceAll 的区别
JAVA 中的 replace replaceAll 问题: 测试code System.out.println("1234567890abcdef -----> "+&qu ...
- JAVA中string.replace()和string.replaceAll()的区别及用法
乍一看,字面上理解好像replace只替换第一个出现的字符(受javascript的影响),replaceall替换所有的字符,其实大不然,只是替换的用途不一样. public String r ...
- 如何选择Javascript模板引擎(javascript template engine)?
译者 jjfat 日期:2012-9-17 来源: GBin1.com 随着前端开发的密集度越来越高,Ajax和JSON的使用越来越频繁,大家肯定免不了在前台开发中大量的使用标签,常见到的例子如下: ...
- JavaScript大杂烩1 - 理解JavaScript的类型系统
随着硬件水平的逐渐提高,浏览器的处理能力越来越强大,本人坚信,客户端会越来越瘦,瘦到只用浏览器就够了,服务端会越来越丰满:虽然很多大型的程序,比如3D软件,客户端仍然会存在,但是未来的主流必将是浏览器 ...
- python 全栈开发,Day50(Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏)
一.Javascript简介 Web前端有三层: HTML:从语义的角度,描述页面结构 CSS:从审美的角度,描述样式(美化页面) JavaScript:从交互的角度,描述行为(提升用户体验) Jav ...
- 一、JavaScript概述 二、JavaScript的语法 三、JavaScript的内置对象
一.JavaScript的概述###<1>JavaScript的概念 又称ECMAScript,和java没有任何关系 嵌入在HTML元素中的 被浏览器解释运行的 一种脚本语言. ###& ...
随机推荐
- Tomcat全攻略
内容: 一:简单介绍 二:安装及配置 三:应用 四:综述 參考资料 关于作者 相关内容: TCP/IP 介绍 TCP/IP 介绍 !== End Related dW Content Area --& ...
- 【GitHub-SwipeMenuListView】针对ListView item的側滑菜单
项目地址:https://github.com/baoyongzhang/SwipeMenuListView Usage Step 1:import swipemenulistview.jar Ste ...
- 打开新窗口(window.open)
open() 方法可以查找一个已经存在或者新建的浏览器窗口. 语法: window.open([URL], [窗口名称], [参数字符串]) 参数说明: URL:可选参数,在窗口中要显示网页的网址或路 ...
- CSS背景特殊属性值
CSS代码示例-背景附着属性(background-attachment)-[背景图固定不动,不跟随滚动条滚动]:<html><head><title>背景附着属性 ...
- iOS字体 UIFont 字体名字大全
打印所有的字体 NSArray *familyNames = [UIFont familyNames];//所有的家族名称 for(NSString *familyName in familyName ...
- Comparable与compareTo
Comparable 1.什么是Comparable接口 此接口强行对实现它的每个类的对象进行整体排序.此排序被称为该类的自然排序 ,类的 compareTo 方法被称为它的自然比较方法 .实现此接口 ...
- ie6里png图片不透明
ie6下img图片或背景图片为png时,图片变成了一片黑色: 图中的jquery-timepicker的两个黑方块和img就是由此原因引用的.解决方法:由Drew Diller提供,对img.back ...
- linux挂载查看、添加与取消
挂载概念: 查看挂载:df 添加挂载mount:mount 挂载的源 目的点 mount /dev/sdb1 /mnt mount挂载常用参数(Option) -t 指定文件系统类型,例如:-t ex ...
- javascript学习教程之---如何从一个tab切换到banner幻灯片的转换
一个简单的tab切换代码: <!doctype html> <html> <head> <meta charset="utf-8"> ...
- php 之 分页查询的使用方法及其类的封装
一.分页的使用: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...