JavaScript字符串方法参考总结


转换字符串
你可以转换一个数字,布尔值,或一个字符串的对象:

1 var myNumber = 24; // 24
2 var myString = myNumber.toString(); // "24"
var myNumber = 24; // 24
var myString = String(myNumber); // "24"
 

 

将字符串分割成多个子字符串
 

为了区分一个字符串转换为一个子字符串数组,你可以使用的split()方法:

 

1 var myString = "coming,apart,at,the,commas";
2 var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"]
3 var arrayLimited = myString.split(",", 3); // ["coming", "apart", "at"]
 

最后一行的第二个参数限制了数组参数所指定的项目的数量。

 

获取一个字符串的长度
 

要找出多少个字符长的字符串的length属性:

1 var myString = "You're quite a character.";
2 var stringLength = myString.length; // 25
 

 

在字符串中找到一个子串
 

这样做的方法有两种。

使用indexOf():

1 var stringOne = "Johnny Waldo Harrison Waldo";
2 var wheresWaldo = stringOne.indexOf("Waldo"); // 7
indexOf()方法从字符串的开头开始搜索的子串(通过)第一个参数,并返回第一次出现子字符串的开始位置。

使用lastIndexOf() :

1 var stringOne = "Johnny Waldo Harrison Waldo";
2 var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22
lastIndexOf()方法是完全一样的,只不过它返回传递的子字符串中最后一次出现的起始位置。

在这两种方法中,如果没有找到子字符串,则返回值-1,并允许一个可选的第二个参数表示您要开始搜索的字符在字符串中的位置

 

替换掉一个子串
 

要更换一个新的字符串的字符串的一部分或全部,你可以使用replace():

 

1 var slugger = "Josh Hamilton";
2 var betterSlugger = slugger.replace("h Hamilton", "e Bautista");
3 console.log(betterSlugger); // "Jose Bautista"
 

 第一个参数是你要替换的子字符串,第二个参数是新的子串。这只会替换匹配的子字符串的第一个实例。

 要更换匹配的子字符串的所有实例,使用正则表达式的全局标志:

1 var myString = "She sells automotive shells on the automotive shore";
2 var newString = myString.replace(/automotive/g, "sea");
3 console.log(newString); // "She sells sea shells on the sea shore"
第二个参数可以包括特殊的替换模式,或可以是一个函数。

 

在给定的位置,找到相应的字符
 

要查找的字符是在指定的位置,你可以使用charAt()方法:

var myString = "Birds of a Feather";
var whatsAtSeven = myString.charAt(7); // "f"
往往是在JavaScript的情况下,引用该字符串中的第一个位置为“0”,而不是“1”。

 或者,您也可以使用charCodeAt() ,它给你,而不是字符本身的字符代码:

1 var myString = "Birds of a Feather";
2 var whatsAtSeven = myString.charCodeAt(7); // "102"
3 var whatsAtEleven = myString.charCodeAt(11); // "70"
请注意,大写字母“F”的位(11)的字符代码与小写字母“f”的位(7)从字符码不同。

 

连接多个字符串
 

在大多数情况下,当您连接字符串时,你会使用加法运算符(+)。但你也可以选择使用CONCAT()方法:

1 var stringOne = "Knibb High football ";
2 var stringTwo = stringOne.concat("rules."); // "Knibb High football rules"
您还可以通过将多个字符串,将被一个个的追加起来(在它们出现的顺序):

1 var stringOne = "Knibb ";
2 var stringTwo = "High ";
3 var stringThree = "football ";
4 var stringFour = "rules.";
5 var finalString = stringOne.concat(stringTwo, stringThree, stringFour);
6 console.log(finalString); // "Knibb high football rules."
 

 

提取字符串(组成新字符串)
 

有三种不同的方法来创建一个新的字符串值:

使用slice()方法:

1 var stringOne = "abcdefghijklmnopqrstuvwxyz";
2 var stringTwo = stringOne.slice(5, 10); // "fghij"

使用substring()方法:

 

var stringOne = "abcdefghijklmnopqrstuvwxyz";
var stringTwo = stringOne.substring(5, 10); // "fghij"
 

 

对于这两个slice()和substring()方法的第一个参数是你想要的开始的子串,第二个参数(这是可选的)后的字符串中的字符结束的字串。因此,在上面的例子中,参数“5,10”,是指,字符5到9,以创建一个新的字符串。

使用SUBSTR()

var stringOne = "abcdefghijklmnopqrstuvwxyz";
var stringTwo = stringOne.substr(5, 10); // "fghijklmno"
SUBSTR() ,第一个参数代表开始新的字符串的字符,第二个参数是可选的。但这个时候,第二个参数表示的字符的总数应包括的开始的字符“5”的位置。

 

一个字符串转换为大写或小写
 

有四种方法做大小写转换。有两个字符串转换为全部大写:

1 var stringOne = "Speak up, I can't hear you.";
2 var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP, I CAN'T HEAR YOU"
3 var stringThree = stringOne.toUpperCase(); // "SPEAK UP, I CAN'T HEAR YOU"
将字符串转换为小写:

1 var stringOne = "YOU DON'T HAVE TO YELL";
2 var stringTwo = stringOne.toLocaleLowerCase(); // "you don't have to yell"
3 var stringThree = stringOne.toLowerCase(); // "you don't have to yell"
 

模式匹配
 

在一个字符串匹配的模式,可以使用两种方法,其基本的工作方式相同。

 

一个字符串match()方法被调用,并通过正则表达式:

1 var myString = "How much wood could a wood chuck chuck";
2 var myPattern = /.ood/;
3 var myResult = myString.match(myPattern); // ["wood"]
4 var patternLocation = myResult.index; // 9
5 var originalString = myResult.input // "How much wood could a wood chuck chuck"
 

 

exec()方法被调用的一个正则表达式对象,并通过字符串:

var myString = "How much wood could a wood chuck chuck";
var myPattern = /.huck/;
var myResult = myPattern.exec(myString); // ["chuck"]
var patternLocation = myResult.index; // 27
var originalString = myResult.input // "How much wood could a wood chuck chuck"
 

 对于这两种方法,只在第一个匹配发生被返回。如果没有找到匹配,将返回空值。

 

也可以使用search()方法,它接受一个正则表达式作为唯一的参数,并返回模式第一次出现的位置:

1 var myString = "Assume";
2 var patternLocation = myString.search(/ume/); // 3
如果没有找到匹配,则该方法返回“-1”。

 

比较两个字符串的排序顺序
 

您可以比较两个字符串,看看哪一个字母先靠前使用localeCompare,,有三个可能的返回值:

1 var myString = "chicken";
2 var myStringTwo = "egg";
3 var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (except Chrome, which returns -2)
4 whichCameFirst = myString.localeCompare("chicken"); // 0
5 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome returns 2)
stringObject.localeCompare(target)//公式
如上图所示,如果 stringObject 小于 target,则 localeCompare() 返回小于 0 的数。如果 stringObject 大于 target,则该方法返回大于 0 的数。如果两个字符串相等,或根据本地排序规则没有区别,该方法返回 0。

由于浏览器可以返回任何负数或正数之前和之后的结果最好使用 if ( result < 0 ) ,而不是if ( result === -1 ),后者将无法在Chrome浏览器中运行。


 

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值