[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元素中的 被浏览器解释运行的 一种脚本语言. ###& ...
随机推荐
- Java基础知识强化62:Arrays工具类之概述和使用
1. Arrays工具类: Arrays这个类包含操作数组(比如排序和查找)的各种方法. 2. Arrays的方法: (1)toString方法:把数组转成字符串 public static Stri ...
- Word03-文档中的截图显示不全
今天写文档时遇到个很蛋疼的问题,在doc文档中复制进去的截图总是显示不全,图片上半部分都被文字遮盖了,折腾半天,最后还是网上找到了答案. 解决方法如下: 将图片所在行的段落行距修改为其它值即可,原来为 ...
- easyui datagrid 行数
$('#gridList').datagrid('getData').rows.length
- 关于控制文件和redo log损坏的恢复
前段时间一朋友自己电脑上的开发测试用的数据库出了点问题,电脑操作系统是Win8,直接在Win8上安装了Oracle11g,后来系统自动升级到Win8.1,Oracle相关的服务全都不见了,想想把数据文 ...
- sqlite--代码操作
1.创建数据库 NSString * docPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainM ...
- java新版中唤醒指定线层对象
import java.util.concurrent.locks.*; class Do9 { public static void main(String[] args) { Resource r ...
- js_day2
1)<script src="dsad.js"> 不是 scr= 2)
- 利用css进行网页布局
网页布局: 又称版式布局,是网页UI设计师将有限的视觉元素进行有机的排列组合,将理性的思维个性的化的表现出来,是一种具有个人艺术特色的视觉传达方式.传达信息的同时有美感.网页设计特点(相对纸媒来说). ...
- sql server 数据库附加时程序集错误
在数据库detach和attach的过程中,如果在建立程序集的时候选择的权限集是无限制,并且在建立程序集的时候和后来attach的时候 采用的不是同一个用户,就可能造成部分功能无法使用.原因是由于在选 ...
- php 之 类,对象
--恢复内容结束--- 一.类和对象: 1.定义: 对象:我们所见到的东西都可以称之为对象,是类实例化出来的东西 类:是对所有的同类对象抽象出来的东西 eg: 在一张表中记录了全班同学的学号,姓名,性 ...