109

I need to break apart a string that always looks like this:

something -- something_else.

I need to put "something_else" in another input field. Currently, this string example is being added to an HTML table row on the fly like this:

tRow.append($('<td>').text($('[id$=txtEntry2]').val()));

I figure "split" is the way to go, but there is very little documentation that I can find.

Peter Mortensen
  • 30,738
  • 21
  • 105
  • 131
Matt
  • 5,542
  • 14
  • 48
  • 59
  • So what exactly should be put/appended in/to which element? – Felix Kling Mar 31 '10 at 19:18
  • Just curious, what did you search for that you didn't find any documentation? I searched on Google for both "javascript split" and "jquery split" and the first result in both cases was the location I linked to. – Charles Boyung Mar 31 '10 at 19:23
  • And I am sorry but I cannot see how your code example is related to your `split()` problem. Give us more information :) – Felix Kling Mar 31 '10 at 19:26
  • I was mistakenly thinking it was a jQuery solution when in fact it's actually a javascript thing. I also saw that documentation but dismissed it too quickly – Matt Mar 31 '10 at 19:30
  • You need to remember that jQuery IS javascript - unless you are doing something with selectors (and a few other things that start with $.) you are just doing javascript, not jQuery. – Charles Boyung Mar 31 '10 at 19:35
  • @GGG Why did you edit? The question makes no sense now. – user123444555621 May 06 '12 at 11:02

4 Answers4

251

Documentation can be found e.g. at MDN. Note that .split() is not a jQuery method, but a native string method.

If you use .split() on a string, then you get an array back with the substrings:

var str = 'something -- something_else';
var substr = str.split(' -- ');
// substr[0] contains "something"
// substr[1] contains "something_else"

If this value is in some field you could also do:

tRow.append($('<td>').text($('[id$=txtEntry2]').val().split(' -- ')[0])));

Felix Kling
  • 795,719
  • 175
  • 1,089
  • 1,143
25

If it is the basic JavaScript split function, look at documentation, JavaScript split() Method.

Basically, you just do this:

var array = myString.split(' -- ')

Then your two values are stored in the array - you can get the values like this:

var firstValue = array[0];
var secondValue = array[1];
Ry-
  • 218,210
  • 55
  • 464
  • 476
Charles Boyung
  • 2,464
  • 1
  • 21
  • 31
13

Look in JavaScript split() Method

Usage:

"something -- something_else".split(" -- ") 
Cyril Gandon
  • 16,830
  • 14
  • 78
  • 122
vittore
  • 17,449
  • 6
  • 44
  • 82
0

According to MDN, the split() method divides a String into an ordered set of substrings, puts these substrings into an array, and returns the array.

Example

var str = 'Hello my friend'

var split1 = str.split(' ') // ["Hello", "my", "friend"]
var split2 = str.split('') // ["H", "e", "l", "l", "o", " ", "m", "y", " ", "f", "r", "i", "e", "n", "d"]

In your case

var str = 'something -- something_else'
var splitArr = str.split(' -- ') // ["something", "something_else"]

console.log(splitArr[0]) // something
console.log(splitArr[1]) // something_else
Hasan Sefa Ozalp
  • 6,353
  • 5
  • 34
  • 45