🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
5 messages
5 total messages Started by jivanmuktaWYTNIJTO Thu, 25 Feb 2010 11:12
newbie: łatwe: zliczanie wystąpień znaku w stringu
#49847
Author: jivanmuktaWYTNIJTO
Date: Thu, 25 Feb 2010 11:12
7 lines
1201 bytes
Uczę się JS i mam taki problem:
jak najprościej zliczyć w stringu wszystkie wystąpienia znaku "\n"? Czy da się
bez pisania pętle? Nie mogę znaleźć odpowiedniej funkcji.


-- 
Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
Re: newbie: łatwe: zliczanie wystąpień znaku w stringu
#49848
Author: Paweł Arciszewski
Date: Thu, 25 Feb 2010 11:35
22 lines
1876 bytes
On 25 Lut, 12:12, jivanmuktaWYTNI...@poczta.onet.pl wrote:
> Ucz si JS i mam taki problem:
> jak najpro ciej zliczy w stringu wszystkie wyst pienia znaku "\n"? Czy da si
> bez pisania p tle? Nie mog znale odpowiedniej funkcji.
>
> --
> Wys ano z serwisu OnetNiusy:http://niusy.onet.pl

bez pętli chyba nie da rady ale jest łatwe:

function countNewLines(str){
	var count = 0;
	var lastIndex = 0;
	while ((lastIndex = str.indexOf('\n', lastIndex)) != -1){
		lastIndex ++;
		count ++;
	}
	return count;
}

Pozdrawiam,
Paweł Arciszewski
Re: newbie: łatwe: zliczanie wystąpień znaku w stringu
#49849
Author: Paweł Piskorz
Date: Thu, 25 Feb 2010 12:21
6 lines
1296 bytes
On 2010-02-25 12:12, jivanmuktaWYTNIJTO@poczta.onet.pl wrote:
> Uczę się JS i mam taki problem:
> jak najprościej zliczyć w stringu wszystkie wystąpienia znaku "\n"? Czy da się
> bez pisania pętle? Nie mogę znaleźć odpowiedniej funkcji.

string.split( "\n" ).length-1
Re: newbie: łatwe: zliczanie wystąpień znaku w stringu
#49850
Author: yew
Date: Fri, 26 Feb 2010 11:45
13 lines
1320 bytes
W dniu 2010-02-25 12:12, jivanmuktaWYTNIJTO@poczta.onet.pl pisze:
> Uczę się JS i mam taki problem:
> jak najprościej zliczyć w stringu wszystkie wystąpienia znaku "\n"? Czy da się
> bez pisania pętle? Nie mogę znaleźć odpowiedniej funkcji.

function countNL(str)
{
	var match = str.match(/\n/g);
	return match ? match.length : 0;
}

-- 
yew
Re: newbie: łatwe: zliczanie wystąpień znaku w stringu
#49851
Author: marcoos
Date: Fri, 26 Feb 2010 14:54
37 lines
2176 bytes
On 26 Lut, 12:45, yew <y...@ql.dude> wrote:
> > Ucz si JS i mam taki problem:
> > jak najpro ciej zliczy w stringu wszystkie wyst pienia znaku "\n"? Czy da si
> > bez pisania p tle? Nie mog znale odpowiedniej funkcji.
>
> function countNL(str)
> {
>         var match = str.match(/\n/g);
>         return match ? match.length : 0;
>
> }

W ramach akademickiej dyskusji ;-) wersje do szpanowania nowymi
ficzerami:

JavaScript 1.8 (chyba tylko Firefox 3.x):

function countNL(str) Array.filter(str, function (x) x ==
"\n").length;

albo:

function countNL(str) Array.reduce(str, function (count, chr) count +
(chr == "\n" ? 1 : 0), 0);

JS 1.6 (zadziała też w Operze i WebKicie, powinna w starszych Fx):

function countNL(str) {
    return Array.prototype.filter.call(str, function (x) { return x ==
"\n"}).length;
}

Wersja z match będzie raczej szybsza i zadziała w innych
przeglądarkach. :)

--
marcoos.com
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads