天天看点

JavaScript常用的一些处理字符串的小案例(特别适合于JS小白学习字符串时练习案例)

1、在最后一个练习中,阵列包含一堆字符串,其中包含有关英格兰北部火车站的信息。字符串是包含三字母站代码的数据项,后面是一些机器可读数据,后跟分号,后跟可读站名。 例如: MAN675847583748sjt567654;Manchester Piccadilly

目标: 我们要提取站点代码和名称,并将它们放在一起,具有以下结构的字符MAN: Manchester Piccadilly

        思路:

        1.提取三个字母的站代码并将其储存在一个新的变量中。

        2.查找分号的字符索引号

        3.使用分号字符索引号作为参照点提取人可读的站名,并将其存储在新变量中

        4.连接两个新的变量和一个字符串文字

        5.将result变量的值跟改为等于最终的字符串,而不是input

<!DOCTYPE html>
<html >
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>处理长字符串</title>
    <!-- 
       
     -->
    <!-- 
        思路:
        1.提取三个字母的站代码并将其储存在一个新的变量中。
        2.查找分号的字符索引号
        3.使用分号字符索引号作为参照点提取人可读的站名,并将其存储在新变量中
        4.连接两个新的变量和一个字符串文字
        5.将result变量的值跟改为等于最终的字符串,而不是input
      -->
    <script type="text/javascript">
      window.onload = function () {
        var list = document.querySelector(".output ul");
        list.innerHTML = "";
        var stations = [
          "MAN675847583748sj567654;Manchester Piccadilly",
          "GNF576746573fhdg4737dh4;Greenfield",
          "LIV5hg65hg65hd737456236dch46dg4;Liverpool Lime Street",
          "SYB4f65hf75f736463;Stalybridge",
          "HUD5767ghtyfyr4536dh45dg45dg3;Huddersfield",
        ];
        for (var i = 0; i < stations.length; i++){
            var input = stations[i];
            var threeWord = input.slice(0,3);
            var index = input.indexOf(';');
            var sliceWord = input.slice(index+1);
            var input = threeWord + ': ' + sliceWord;
            var result =input;
            var listItem = document.createElement('li');
            listItem.textContent = result;
            list.appendChild(listItem);
        }
      };
    </script>
  </head>
  <body>
      <div class="output">
          <ul></ul>
      </div>
  </body>
</html>
           

2、在这个练习中,我们有英国城市的名字,但是这个大写字母都搞砸了。我们希望你改变它们,使它们都是小写字母,除了首字母

思路:

            1.将输入变量中包含的整个字符串转换为小写,并将其存储在新变量中。

            2.在此新变量中获取字符串的第一个字母并将其存储在另一个变量中。

            3.将此最新变量用作子字符串,将小写字符串的第一个字母从小写更改为大写。 将此替换过程的结果存储在另一个新变量中。

            4.让 result 变量的值与最终结果相等,而不是使用 input 变量

<!DOCTYPE html>
<html >
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>大写修正</title>
    <!-- 
            。 一个很好的方法是:
     -->

    <!-- 思路:
            1.将输入变量中包含的整个字符串转换为小写,并将其存储在新变量中。
            2.在此新变量中获取字符串的第一个字母并将其存储在另一个变量中。
            3.将此最新变量用作子字符串,将小写字符串的第一个字母从小写更改为大写。 将此替换过程的结果存储在另一个新变量中。
            4.让 result 变量的值与最终结果相等,而不是使用 input 变量。
    -->
    <script type="text/javascript">
      window.onload = function () {
        var list = document.querySelector(".output ul");
        list.innerHTML = "";
        var cities = ["lonDon", "ManCHESTer", "BiRmiNGHAM", "liVERpoOL"];
        for (var i = 0 ; i < cities.length ; i++) {
            var lower = cities[i].toLowerCase();
            var firstLetter = lower.slice(0,1);
            var capitalized = lower.replace(firstLetter,firstLetter.toUpperCase());
            var listItem = document.createElement('li');
            listItem.textContent = capitalized;
            list.appendChild(listItem);
        }
      };
    </script>
  </head>
  <body>
    <div class="output">
      <ul></ul>
    </div>
  </body>
</html>
           

3、

        我们有一系列的问候卡片消息,但我们希望对它们进行排序,以列出圣诞消息。 

        我们希望您在 if(...) 结构中填写条件测试,以测试每个字符串,

        并将其打印在列表中,如果它是圣诞消息。 

<!DOCTYPE html>
<html >
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>过滤问候留言</title>
    <!-- 主要是以indexof完成 -->
    <script type="text/javascript">
       window.onload = function(){
        var list = document.querySelector('.output ul');
        /* console.log(list) */

        list.innerHTML = ' ';
        
        var greetings = [
            'Happy Birthday!',
            'Merry Christmas my love',
            'Merry Christmas my love',
            'Merry Christmas my love',
            'You\' re all I want to all the family',
            'You\'re all I want for Christmas',
            'Get well soon'
        ];
        for(var i = 0; i < greetings.length-1;i++){
            var input = greetings[i];
            if (greetings[i].indexOf('Christmas') !== -1) {
                var result = input;
                var listItem = document.createElement('li');
                listItem.textContent = result;
                list.appendChild(listItem);
            }
        }
       }
    </script>
</head>
<body>
        <div class="output">
            <ul></ul>
        </div>
</body>
</html>
           

继续阅读