"자바스크립트 split words n others()"의 두 판 사이의 차이

6번째 줄: 6번째 줄:
function split_words_n_others(str) {
function split_words_n_others(str) {
   var res = [];
   var res = [];
   var pattern = /([A-Za-z]+)|([^A-Za-z]+)/g;
   var pattern = /([A-Za-z\-'*]+)|([^A-Za-z]+)/g;
   while ((match = pattern.exec(str)) !== null) {
   while ((match = pattern.exec(str)) !== null) {
   res.push( {word:match[0], is_word:(match[2]==undefined)} );
   res.push( {word:match[0], is_word:(match[2]==undefined)} );

2017년 11월 24일 (금) 23:01 판

1 개요

JavaScript split_words_n_others()
function split_words_n_others(str) {
  var res = [];
  var pattern = /([A-Za-z\-'*]+)|([^A-Za-z]+)/g;
  while ((match = pattern.exec(str)) !== null) {
  	res.push( {word:match[0], is_word:(match[2]==undefined)} );
  }
  return res;
}
console.log(split_words_n_others("Hello world!"));
// [
// {word: "Hello", is_word: true}
// {word: " ", is_word: false}
// {word: "world", is_word: true}
// {word: "!", is_word: false}
// ]
function split_words_n_others(str) {
  var res = [];
  var pattern = /([A-Za-z'-*]+)|([^A-Za-z]+)/g;
  while ((match = pattern.exec(str)) !== null) {
  	res.push( {word:match[0], is_word:(match[2]==undefined)} );
  }
  return res;
}
console.log(split_words_n_others("Hello world!"));
// {word: "Hello", is_word: true}
// {word: " ", is_word: false}
// {word: "world", is_word: true}
// {word: "!", is_word: false}

console.log(split_words_n_others("Who wants some?!");
// {word: "Who", is_word: true}
// {word: " ", is_word: false}
// {word: "wants", is_word: true}
// {word: " ", is_word: false}
// {word: "some", is_word: true}
// {word: "?!", is_word: false}

console.log(split_words_n_others("This better be good...");
// {word: "This", is_word: true}
// {word: " ", is_word: false}
// {word: "better", is_word: true}
// {word: " ", is_word: false}
// {word: "be", is_word: true}
// {word: " ", is_word: false}
// {word: "good", is_word: true}
// {word: "...", is_word: false}

console.log(split_words_n_others("You want a piece of me, boy?");
// {word: "You", is_word: true}
// {word: " ", is_word: false}
// {word: "want", is_word: true}
// {word: " ", is_word: false}
// {word: "a", is_word: true}
// {word: " ", is_word: false}
// {word: "piece", is_word: true}
// {word: " ", is_word: false}
// {word: "of", is_word: true}
// {word: " ", is_word: false}
// {word: "me", is_word: true}
// {word: ", ", is_word: false}
// {word: "boy", is_word: true}
// {word: "?", is_word: false}

console.log(split_words_n_others("This is my C-14 Impaler gauss rifle!");
// {word: "This", is_word: true}
// {word: " ", is_word: false}
// {word: "is", is_word: true}
// {word: " ", is_word: false}
// {word: "my", is_word: true}
// {word: " ", is_word: false}
// {word: "C", is_word: true}
// {word: "-14 ", is_word: false}
// {word: "Impaler", is_word: true}
// {word: " ", is_word: false}
// {word: "gauss", is_word: true}
// {word: " ", is_word: false}
// {word: "rifle", is_word: true}
// {word: "!", is_word: false}

console.log(split_words_n_others("Man... STILL stuck in this chickensh*t outfit...");
// {word: "Man", is_word: true}
// {word: "... ", is_word: false}
// {word: "STILL", is_word: true}
// {word: " ", is_word: false}
// {word: "stuck", is_word: true}
// {word: " ", is_word: false}
// {word: "in", is_word: true}
// {word: " ", is_word: false}
// {word: "this", is_word: true}
// {word: " ", is_word: false}
// {word: "chickensh*t", is_word: true}
// {word: " ", is_word: false}
// {word: "outfit", is_word: true}
// {word: "...", is_word: false}

2 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}