>  기사  >  웹 프론트엔드  >  JavaScript_javascript 기술의 일반적인 문자열 조작 기능 및 사용법 요약

JavaScript_javascript 기술의 일반적인 문자열 조작 기능 및 사용법 요약

WBOY
WBOY원래의
2016-05-16 16:01:111072검색

이 기사의 예에는 JavaScript의 일반적인 문자열 조작 기능과 사용법이 요약되어 있습니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.

저는 최근 프론트엔드 인턴 채용을 위한 여러 필기 시험에 참여했는데, Qunar.com 필기 시험 문제, Taobao 필기 시험 문제 등과 같은 많은 필기 시험 문제가 문자열 처리를 테스트한다는 것을 알게 되었습니다. 필기 시험을 자주 보거나 가본 적이 있다면 나처럼 문자열 처리가 프런트 엔드 채용 프로세스에서 가장 일반적인 질문 유형 중 하나라는 것을 알게 될 것입니다. 이러한 문제에는 한 가지 특징이 있습니다. 시험관의 관점에서 생각해 보십시오. 알고 있는지 여부가 아니라 XX 매뉴얼이나 XX 가이드 또는 Baidu 및 Google을 빌리지 않고도 비교적 간결하게 작성할 수 있는지 테스트합니다. 답변. 물론 나도 그 중 한 명인 많은 개발자들이 자주 사용되는 많은 문자열 처리 기능의 사용법을 확실히 기억하지 못하고 항상 XX 매뉴얼이나 XX 가이드 또는 Baidu Google을 참조해야 한다는 점은 안타깝습니다. 결과적으로 이러한 매우 중요한 기본 지식은 충분히 견고하지 않습니다. 이러한 질문에 직면하면 N 수준 중첩 for 루프를 사용하여 하나씩 탐색해야 합니다. 이는 신호입니다. 이러한 유형의 질문을 수행할 때 for 루프를 너무 많이 사용하고 있다는 것을 알게 되면 잘못 작성했을 가능성이 매우 높으므로 주의하세요. 이러한 것들을 과소평가하지 마십시오. 일자리를 찾고 일상적인 발전에 큰 역할을 할 수 있습니다. 자, 더 이상 이야기하지 말고 하나씩 요약해 보겠습니다. 혹시 누락된 부분이 있을 수 있으니, 발견하신 경우에는 자유롭게 추가하시거나 비공개 메시지를 보내주세요.

1. 문자열 변환

문자열 변환은 가장 기본적인 요구 사항이며 작업은 다음 세 가지 방법 중 하나를 사용하여 모든 유형의 데이터를 문자열로 변환할 수 있습니다.

var num= 19; // 19
var myStr = num.toString(); // "19"
다음과 같이 할 수도 있습니다.

var num= 19; // 19
var myStr = String(num); // "19"
또는 더 간단하게:

var num= 19; // 19
var myStr = "" +num; // "19"

2. 문자열 분할

문자열 분할은 문자열을 여러 문자열로 분할하는 것입니다. JavaScript는 다음과 같은 매우 편리한 기능을 제공합니다.

var myStr = "I,Love,You,Do,you,love,me";
var substrArray = myStr .split(",");
// ["I", "Love", "You", "Do", "you", "love", "me"];
var arrayLimited = myStr .split(",", 3);
// ["I", "Love", "You"];
split()의 두 번째 매개변수는 반환되는 문자열 배열의 최대 길이를 나타냅니다.

3. 문자열 길이를 가져옵니다

문자열 길이는 개발에서 자주 사용됩니다. 다음과 같이 매우 간단합니다.

var myStr = "I,Love,You,Do,you,love,me";
var myStrLength = myStr.length; //25

4. 하위 문자열 쿼리

많은 사람들이 이러한 JavaScript의 내장 메소드를 잊어버리거나 특정 사용법을 잊어버리므로 질문을 할 때 for 루프를 중첩해야 합니다.

첫 번째 함수: indexOf()는 문자열의 처음부터 검색하여 해당 좌표가 없으면 -1을 반환합니다. 다음과 같습니다:

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.indexOf("you"); // 7 ,基于0开始,找不到返回-1
두 번째 함수: lastIndexOf()는 문자열의 끝부터 검색하여 해당 좌표가 없으면 -1을 반환합니다. 다음과 같습니다:

var myStr = "I,Love,you,Do,you,love,me";
var index = myStr.lastIndexOf("you"); // 14
위의 두 함수는 검색 시작 위치를 나타내는 두 번째 선택적 매개변수도 받습니다.

5. 문자열 교체

문자열 찾는 것만으로는 끝나서는 안 됩니다. 일반적인 질문에서는 문자열을 찾아 자신만의 문자열로 바꾸라는 요청을 받는 경우가 많습니다. 예를 들면 다음과 같습니다.

var myStr = "I,love,you,Do,you,love,me";
var replacedStr = myStr.replace("love","hate");
//"I,hate,you,Do,you,love,me"
기본적으로 처음 발견된 항목만 교체됩니다. 전역적으로 교체하려면 다음과 같은 일반 전역 플래그를 넣어야 합니다.

var myStr = "I,love,you,Do,you,love,me";
var replacedStr = myStr.replace(/love/g,"hate");
//"I,hate,you,Do,you,hate,me"
자세한 설명은

http://www.jb51.net/w3school/js/jsref_replace.htm을 참고하세요.

6. 특정 위치의 문자 또는 해당 문자 인코딩 값을 찾습니다.

특정 위치에서 문자를 찾으려면 다음 기능을 사용할 수 있습니다.

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charAt(8);// "o",同样从0开始
마찬가지로 형제 함수 중 하나는 다음과 같이 해당 위치의 문자 인코딩 값을 찾는 것입니다.

var myStr = "I,love,you,Do,you,love,me";
var theChar = myStr.charCodeAt(8); //111

7. 문자열 연결

문자열 연결 작업은 다음과 같은 추가 연산자를 사용하는 것만큼 간단할 수 있습니다.

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1 + str2 + "Yes!";
//"I,love,you!Do,you,love,me?Yes!"
마찬가지로 JavaScript에는 다음과 같은 관련 기능도 함께 제공됩니다.

var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1.concat(str2);
//"I,love,you!Do,you,love,me?"
concat() 함수는 여러 매개변수를 가질 수 있고, 여러 문자열을 전달하고, 여러 문자열을 연결할 수 있습니다.

8. 문자열 자르기 및 추출

문자열에서 추출하고 잘라내는 방법에는 다음과 같은 세 가지가 있습니다.

첫 번째 방법은 Slice()를 사용하는 것입니다.

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.slice(1,5);//",lov"
두 번째로 하위 문자열()을 사용합니다.

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substring(1,5); //",lov"
세 번째 방법은 substr()을 사용하는 것입니다.

var myStr = "I,love,you,Do,you,love,me";
var subStr = myStr.substr(1,5); //",love"
첫 번째, 두 번째 방법과 다르게 substr()의 두 번째 매개변수는 위 결과에서 볼 수 있듯이 가로채는 문자열의 최대 길이를 나타냅니다.

9. 문자열 대소문자 변환

대문자 또는 소문자 문자열로 변환하기 위해 일반적으로 사용되는 함수는 다음과 같습니다.

var myStr = "I,love,you,Do,you,love,me";
var lowCaseStr = myStr.toLowerCase();
//"i,love,you,do,you,love,me";
var upCaseStr = myStr.toUpperCase();
//"I,LOVE,YOU,DO,YOU,LOVE,ME"

10. 문자열 매칭

문자열 일치를 위해서는 정규 표현식에 대한 어느 정도의 이해가 필요할 수 있습니다. 먼저 match() 함수를 살펴보겠습니다.

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.match(pattern);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me

如你所见,match()函数在字符串上调用,并且接受一个正则的参数。来看看第二个例子,使用exec()函数:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = pattern .exec(myStr);//["love"]
console.log(result .index);//2
console.log(result.input );//I,love,you,Do,you,love,me

简单吧,仅仅是把正则和字符串换了个位置,即exec()函数是在正则上调用,传递字符串的参数。对于上面两个方法,匹配的结果都是返回第一个匹配成功的字符串,如果匹配失败则返回null.

再来看一个类似的方法search(),如:

var myStr = "I,love,you,Do,you,love,me";
var pattern = /love/;
var result = myStr.search(pattern);//2

仅返回查到的匹配的下标,如果匹配失败则返回-1.

11、字符串比较

比较两个字符串,比较是规则是按照字母表顺序比较的,如:

var myStr = "chicken";
var myStrTwo = "egg";
var first = myStr.localeCompare(myStrTwo); // -1
first = myStr.localeCompare("chicken"); // 0
first = myStr.localeCompare("apple"); // 1

12、举例

最后我们来看一道前端笔试题,去哪儿网的,相信很多孩子都做到过这个题了。题目:写一个getSuffix函数,用于获得输入参数的后缀名,例如输入abcd.txt,返回txt。附上我的答案:

function getSuffix(file){
   return file.slice(file.lastIndexOf(".") + 1,file.length); 
}

结束语

相信JavaScript中字符串操作的函数应该不止这几个,但是上面列的这些应该都是非常常用的。如果有哪些需要补充的,欢迎补充!希望看到这些以后,再面对字符串的笔试面试题你能非常从容的面对。

希望本文所述对大家的javascript程序设计有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.