Javascript - geteilte Abschnitte fangen Gleichheitszeichen ab
代言
代言 2017-06-15 09:23:13
0
7
1299

var string="content=ABCDEFGHIJKLMN="
var ca = string.split("=");
ca[0]=content;
ca[1]=ABCDEFGHIJKLMN;
ca[2]="";
Aber Ich möchte das zweite Gleichheitszeichen nicht abfangen (es muss beibehalten werden), wie soll ich damit umgehen?

代言
代言

Antworte allen(7)
我想大声告诉你

用正则吧

var string="content=ABCDEFGHIJKLMN="
var ca = string.split(/=(?=.)/);
大家讲道理

你不太适合编程啊孩子。。。
直接取ca[1]+"="就可以了,干嘛非得取到原来的等号呢?思路一定要灵活,等价这个词对于一个程序员是很重要的。

typecho

看了你在各回答的评论,妄且猜测你大概是这么一个意图:试图去找出一个编程语言内置的方法,去实现这个功能。只需要调用一下它,比如调用个函数,或者加个参数。

对么?

但是问题是现在语言很可能(因为我本人并不十分精通js,不敢下定论一定没有)并没有加入这么一个内置的功能特性,那你就需要自己去实现它。

其实语言内置的功能,也只是别人预先实现好的而已。你非要去找出一个,反而落入了死板。

正如@G_Koala_C所说用简单直观的方式解决问题才是王道。

三叔

如果是有大于两个的=不就坑了?所以还得

str1 = ca[0];
ca.shift();
str2 = ca.join('=');

个人喜欢正则,不过也可以用indexof找到第一个=。但是此方法还要判断返回值是否为-1。

巴扎黑
stringObject.split(separator,howmany)

separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

用法出处http://www.w3school.com.cn/js...

迷茫

看了 node.jsquerystring模块的源码,按照源码的思路是这样处理的:

var string="content=ABCDEFGHIJKLMN="
var kstr,vstr;
var idx=string.indexOf('=')
if(idx>=0){
 kstr=string.substr(0,idx)
vstr=string.substr(idx+1)
}else{
   kstr=string
  vstr=''
}
console.log(kstr,vstr)  //=>content ABCDEFGHIJKLMN=
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage