Answer-ID
  • Întrebări
  • Tag-uri
  • Categorii
Notificări
Recompense
Înregistrare
După înregistrare, veți primi notificări despre răspunsurile și comentariile la întrebările DVS.
Logare
Dacă aveţi deja un cont, autentificaţi-vă pentru a verifica notificările noi.
Aici vor fi recompensele pentru întrebările, răspunsurile și comentariile adăugate sau modificate.
Mai mult
Sursă
Editează
 ctrlShiftBryan
ctrlShiftBryan

Cum am împartă un șir de caractere, de rupere într-un anumit personaj?

Am acest șir

Folosind JavaScript, ceea ce este cel mai rapid mod de a analiza acest lucru în

var street= "123 Street";
//etc...
513 2008-09-18T20:14:13+00:00 15
Programare
javascript
string-split
Comentarii la întrebare (0)
Soluția
 Zach
Zach
18 septembrie 2008 в 8:17
2008-09-18T20:17:59+00:00
Mai mult
Sursă
Editează
#8480258

Cu JavaScript [String.prototype.split](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/split funcția):


var fields = input.split('~');

var name = fields[0];
var street = fields[1];
// etc.
812
0
Comentarii (0)
Grant Wagner
Grant Wagner
18 septembrie 2008 в 8:19
2008-09-18T20:19:29+00:00
Mai mult
Sursă
Editează
#8480260

Nu't nevoie de jQuery.

var fields = s.split(/~/);
var name = fields[0];
var street = fields[1];
51
0
Comentarii (2)
Vahid Hallaji
Vahid Hallaji
12 februarie 2017 в 9:15
2017-02-12T09:15:21+00:00
Mai mult
Sursă
Editează
#8480267

Potrivit ECMAScript6 ES6, cel mai curat mod este distrugere de tablouri:


const [name, street, unit, city, state, zip] = input.split('~');

console.log(name); // john smith
console.log(street); // 123 Street
console.log(unit); // Apt 4
console.log(city); // New York
console.log(state); // NY
console.log(zip); // 12345

Ai putea avea elemente suplimentare în șirul de intrare. În acest caz, puteți folosi restul operator pentru a obține o matrice pentru restul sau doar le ignora:


const [name, street, ...others] = input.split('~');

console.log(name); // john smith
console.log(street); // 123 Street
console.log(others); // ["Apt 4", "New York", "NY", "12345"]

Ar trebui citite doar de referință pentru valorile și folosit const declarație.

Bucurați-vă de ES6!

39
0
Comentarii (2)
Torsten Walter
Torsten Walter
14 august 2012 в 11:15
2012-08-14T11:15:30+00:00
Mai mult
Sursă
Editează
#8480263

Chiar dacă acest lucru nu este cel mai simplu mod, ai putea face acest lucru:

    keys = "name address1 address2 city state zipcode".split(" "),
    address = {};

// clean up the string with the first replace
// "abuse" the second replace to map the keys to the matches
addressString.replace(/^~|~$/g).replace(/[^~]+/g, function(match){
    address[ keys.unshift() ] = match;
});

// address will contain the mapped result
address = {
    address1: "123 Street"
    address2: "Apt 4"
    city: "New York"
    name: "john smith"
    state: "NY"
    zipcode: "12345"
}

Actualizare pentru ES2015, folosind destructurare


// The variables defined above now contain the appropriate information:

console.log(address1, address2, city, name, state, zipcode);
// -> john smith 123 Street Apt 4 New York NY 12345
16
0
Comentarii (2)
John Sheehan
John Sheehan
18 septembrie 2008 в 8:18
2008-09-18T20:18:35+00:00
Mai mult
Sursă
Editează
#8480259

Te'll doriți să se uite în JavaScript's substr sau split, deoarece acest lucru nu este cu adevărat o sarcină potrivită pentru jQuery.

12
0
Comentarii (0)
 Dan
Dan
18 septembrie 2008 в 8:20
2008-09-18T20:20:04+00:00
Mai mult
Sursă
Editează
#8480261

ei bine, cel mai simplu mod ar fi ceva de genul:

var name = address[0], street = address[1]
5
0
Comentarii (0)
BJ Patel
BJ Patel
29 noiembrie 2012 в 9:45
2012-11-29T09:45:34+00:00
Mai mult
Sursă
Editează
#8480264

Dacă Spliter este găsit atunci numai

Împărțim

altceva reveni același șir

funcția SplitTheString(ResultStr) { dacă (ResultStr != null) { var SplitChars = '~'; dacă (ResultStr.indexOf(SplitChars) >= 0) { var DtlStr = ResultStr.split(SplitChars); var nume = DtlStr[0]; var stradă = DtlStr[1]; } } }

5
0
Comentarii (0)
 Tushar
Tushar
3 octombrie 2015 в 10:01
2015-10-03T10:01:51+00:00
Mai mult
Sursă
Editează
#8480266

Puteți utiliza "split" pentru a împărți textul.

Ca o alternativă, puteți utiliza, de asemenea, "meci", după cum urmează

matches = str.match(/[^~]+/g);

console.log(matches);
document.write(matches);

Regex [^~]+ se va potrivi toate personajele, cu excepția ~ și a reveni la meciuri într-o matrice. Apoi, puteți extrage meciuri de la ea.

4
0
Comentarii (2)
Steve g
Steve g
18 septembrie 2008 в 8:21
2008-09-18T20:21:27+00:00
Mai mult
Sursă
Editează
#8480262

Ceva de genul:

var name=divided[0];
var street = divided[1];

Este, probabil, va fi mai simplu

4
0
Comentarii (1)
Billy Hallman
Billy Hallman
26 octombrie 2013 в 6:03
2013-10-26T18:03:34+00:00
Mai mult
Sursă
Editează
#8480265

Zach avut acest drept unul.. folosind metoda lui ai putea face, de asemenea, un aparent "multi-dimensional" matrice.. am creat un exemplu rapid la JSFiddle http://jsfiddle.net/LcnvJ/2/

// array[0][1] will produce james

// array[1][0] will produce kevin
// array[1][1] will produce haley

var array = [];
    array[0] = "brian,james,doug".split(",");
    array[1] = "kevin,haley,steph".split(",");
2
0
Comentarii (0)
 leandrotk
leandrotk
17 ianuarie 2019 в 2:13
2019-01-17T02:13:58+00:00
Mai mult
Sursă
Editează
#8480270

Acest șir.split("~")[0];` devine lucruri de facut.

sursa: Șir de caractere.prototip.split()


O altă abordare funcțională folosind curry și funcție de compoziție.

Deci, primul lucru ar fi funcția split. Vrem să facem acest lucru "john smith~123 Strada~Apt 4~New York~NY~12345" în această["john smith", "123 Strada", "Apt 4", "New York", "new YORK", "12345"]`

const splitByTilde = split('~');

Deci, acum ne putem folosi de specialitate splitByTilde funcția. Exemplu:

Pentru a obține primul element putem folosi lista[0]` operator. Las's a construi o "prima" funcția:

Algoritmul este: split de colon și apoi a obține primul element din lista dată. Deci, putem compune aceste funcții pentru a construi final getName funcția. Construirea uneicompune` funcția cu "reduce":

Și acum, folosind-o pentru a compune `splitByTilde " și " prima funcții.


let string = 'john smith~123 Street~Apt 4~New York~NY~12345';
getName(string); // "john smith"
1
0
Comentarii (0)
Hari Lakkakula
Hari Lakkakula
9 aprilie 2019 в 9:25
2019-04-09T09:25:28+00:00
Mai mult
Sursă
Editează
#8480272

Încercați în Simple Javascript


 var ar= [url,statu] = window.location.href.split("=");
1
0
Comentarii (0)
Bal  mukund kumar
Bal mukund kumar
1 martie 2018 в 11:27
2018-03-01T11:27:31+00:00
Mai mult
Sursă
Editează
#8480269

Utilizați acest cod --

var str = "How are you doing today?";
var res = str.split("/");

}
0
0
Comentarii (0)
Chris Bartholomew
Chris Bartholomew
28 martie 2019 в 1:58
2019-03-28T13:58:50+00:00
Mai mult
Sursă
Editează
#8480271

Întrucât divizarea pe virgule întrebare este duplicat la această întrebare, adăugând că acest lucru aici.

Dacă doriți să împartă pe un caracter și, de asemenea, mâner extra spațiu în care ar putea să urmeze acest personaj, care de multe ori se întâmplă cu virgule, puteți folosi "înlocuiți" apoi pe "split", astfel:

var elemente = string.replace(/,\s+/, ",").split(',')

0
0
Comentarii (0)
 Developer
Developer
28 august 2019 в 1:00
2019-08-28T13:00:48+00:00
Mai mult
Sursă
Editează
#8480273

JavaScript: Conversia String-Array JavaScript Split


    var result = str.split('-'); 

    console.log(result);

    document.getElementById("show").innerHTML = result; 
<head>
<title>How do you split a string, breaking at a particular character in javascript?</title>
</head>
<body>

<p id="show"></p> 

</body>
</html>

https://www.tutsmake.com/javascript-convert-string-to-array-javascript/

0
0
Comentarii (0)
Adăugati o întrebare
Categorii
Toate
Tehnologii
Cultură
Viață / Artă
Stiință
Profesii
Afaceri
ID
KO
RO
RU
© Answer-ID 2021
Sursă
https://stackoverflow.com
în cadrul licenței cc by-sa 3.0 cu atribuire