如何在Javascript中的字符串中的单词之间添加逗号

死神

我正在尝试在括号的名字和姓氏之间添加逗号。

//Input:

s = "Fred:Corwill;Wilfred:Corwill;Barney:Tornbull;Betty:Tornbull;Bjon:Tornbull;Raphael:Corwill;Alfred:Corwill";

//Expected output: "(CORWILL, ALFRED)(CORWILL, FRED)(CORWILL, RAPHAEL)(CORWILL, WILFRED)(TORNBULL, BARNEY)(TORNBULL, BETTY)(TORNBULL, BJON)"

我的代码当前正在输出什么

(CORWILL ALFRED) (CORWILL FRED) (CORWILL RAPHAEL) (CORWILL WILFRED) (TORNBULL BARNEY) (TORNBULL BETTY) (TORNBULL BJON)

我尝试了多种方法,例如在重新分配s(字符串)时更改开头的字符替换方式,这样一来我就不会删除逗号,然后不得不替换它们...但是当我这样做了,我的正则表达式不再起作用了,我不确定为什么会这样。因此,我试图找到另一个正则表达式来使用,以便能够解决该问题,但这同样很痛苦,所以我决定坚持以这种方式解决:尝试找到在第一个之间找到逗号的方法,和括号中的姓氏。

完整的问题和代码:

/*Could you make a program that 
    •   makes this string uppercase
    •   gives it sorted in alphabetical order by last name. 
When the last names are the same, sort them by first name. Last name and first name of a guest come in the result between parentheses separated by a comma.
*/

function meeting(s) {

  s = s.replace(/:/g, ", ").toUpperCase();

  //order alphabetically based on Last, then first name
 const semicolon = ';'
 let testArr = s.split(semicolon)
  testArr.sort(function compare(a, b) {
      var splitA = a.split(",");
      var splitB = b.split(",");
      var firstA = splitA[0]
      var firstB = splitB[0]
      var lastA = splitA[splitA.length - 1];
      var lastB = splitB[splitB.length - 1];

      if (lastA < lastB) return -1;
      if (lastA > lastB) return 1; 

      if (firstA < firstB) return -1; //sort first names alphabetically
      if (firstA > firstB) return 1; 
      return 0; //if they are equal
  })
  //print last names before first names with regex
let newArr = [];
for (let i = 0; i < testArr.length; i++) {
  let variable = (testArr[i].replace(/([\w ]+), ([\w ]+)/g, "$2 $1"))
  let comma = ","
  newArr.push(`(${variable})`)
  }
  
let finalStr;
finalStr = newArr.toString().replace(/[ ,.]/g, " ").toUpperCase();
// finalStr = finalStr.replace(/" "/g, ", ")
return finalStr
}

s = "Fred:Corwill;Wilfred:Corwill;Barney:Tornbull;Betty:Tornbull;Bjon:Tornbull;Raphael:Corwill;Alfred:Corwill";

console.log(meeting(s))

// expected result: "(CORWILL, ALFRED)(CORWILL, FRED)(CORWILL, RAPHAEL)(CORWILL, WILFRED)(TORNBULL, BARNEY)(TORNBULL, BETTY)(TORNBULL, BJON)"

任何帮助将不胜感激,我花了大约5个小时解决这个问题。我使用的正则表达式是将姓氏的位置更改为名字的位置(Fred Corwill)->(Corwill Fred)。如果除了我正在使用正则表达式之外还有其他我可以给你建议正则表达式,也许我也可以通过这种方式解决该问题,到目前为止,我尝试过的所有其他方法都没有在这里使用。

一定的表现

这看起来比需要的复杂得多。;s分割后,将每个单独的元素以相反的顺序映射到其单词,然后加入:

const s = "Fred:Corwill;Wilfred:Corwill;Barney:Tornbull;Betty:Tornbull;Bjon:Tornbull;Raphael:Corwill;Alfred:Corwill";

const output = s
  .toUpperCase()
  .split(';')
  .sort((a, b) => {
    const [aFirst, aLast] = a.split(':');
    const [bFirst, bLast] = b.split(':');
    return aLast.localeCompare(bLast) ||  aFirst.localeCompare(bFirst);
  })
  .map((name) => {
    const [first, last] = name.split(':');
    return `(${last}, ${first})`;
  })
  .join('');
console.log(output);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不相同的字符之间的字符串中添加逗号?

来自分类Dev

如何在字符串中的数字中添加逗号

来自分类Dev

如何在javascript字符串中的特殊单词上添加字母/单词/字符?

来自分类Dev

如何在值字符串中添加逗号

来自分类Dev

如何在SQL中添加逗号分隔的字符串

来自分类Dev

如何在javascript字符串中的每个单词的开头添加字符?

来自分类Dev

使用StringBuilder和BufferedReader,如何在文本文件中的每个单词之后添加逗号并生成字符串?

来自分类Dev

如何在字符串中的每个中英文单词之间添加跨度标签?

来自分类Dev

如何在Java中拆分逗号分隔的字符串,但排除一些包含逗号的单词

来自分类Dev

如何在Java中拆分逗号分隔的字符串但排除一些包含逗号的单词

来自分类Dev

如何在JSP页面中的字符串中添加逗号

来自分类Dev

如何在javascript中的字符串末尾添加空格?

来自分类Dev

如何在Javascript字符串中添加类名?

来自分类Dev

如何在javascript中的字符串末尾添加空格?

来自分类Dev

如何在Javascript字符串中添加类名?

来自分类Dev

如何在JavaScript中添加查询字符串?

来自分类Dev

如何在字符串中搜索单词(仅单词)?

来自分类Dev

如何在字符串中搜索单词(仅单词)?

来自分类Dev

如何在XSD架构中添加采用逗号分隔的字符串值的元素

来自分类Dev

如何在字符串PHP中双引号后添加逗号?

来自分类Dev

如何在XSD架构中添加采用逗号分隔的字符串值的元素

来自分类Dev

如何在以逗号分隔的NSMutableString中添加多个字符串

来自分类Dev

如何在 Python 中给定字符串的所需位置添加逗号?

来自分类Dev

当来自bundle android时如何在每个字符串中添加逗号?

来自分类Dev

如何在R中的字符串中的连续单词上添加前缀

来自分类Dev

如何在Eclipse的字符串数组中的所有单词中添加(“”)?

来自分类Dev

如何在两个字符串之间匹配某些单词(在MATLAB中)?

来自分类Dev

如何在字符串R中的两个单词之间获取多个文本?

来自分类Dev

如何在字符串中的字符之前找到单词

Related 相关文章

  1. 1

    如何在不相同的字符之间的字符串中添加逗号?

  2. 2

    如何在字符串中的数字中添加逗号

  3. 3

    如何在javascript字符串中的特殊单词上添加字母/单词/字符?

  4. 4

    如何在值字符串中添加逗号

  5. 5

    如何在SQL中添加逗号分隔的字符串

  6. 6

    如何在javascript字符串中的每个单词的开头添加字符?

  7. 7

    使用StringBuilder和BufferedReader,如何在文本文件中的每个单词之后添加逗号并生成字符串?

  8. 8

    如何在字符串中的每个中英文单词之间添加跨度标签?

  9. 9

    如何在Java中拆分逗号分隔的字符串,但排除一些包含逗号的单词

  10. 10

    如何在Java中拆分逗号分隔的字符串但排除一些包含逗号的单词

  11. 11

    如何在JSP页面中的字符串中添加逗号

  12. 12

    如何在javascript中的字符串末尾添加空格?

  13. 13

    如何在Javascript字符串中添加类名?

  14. 14

    如何在javascript中的字符串末尾添加空格?

  15. 15

    如何在Javascript字符串中添加类名?

  16. 16

    如何在JavaScript中添加查询字符串?

  17. 17

    如何在字符串中搜索单词(仅单词)?

  18. 18

    如何在字符串中搜索单词(仅单词)?

  19. 19

    如何在XSD架构中添加采用逗号分隔的字符串值的元素

  20. 20

    如何在字符串PHP中双引号后添加逗号?

  21. 21

    如何在XSD架构中添加采用逗号分隔的字符串值的元素

  22. 22

    如何在以逗号分隔的NSMutableString中添加多个字符串

  23. 23

    如何在 Python 中给定字符串的所需位置添加逗号?

  24. 24

    当来自bundle android时如何在每个字符串中添加逗号?

  25. 25

    如何在R中的字符串中的连续单词上添加前缀

  26. 26

    如何在Eclipse的字符串数组中的所有单词中添加(“”)?

  27. 27

    如何在两个字符串之间匹配某些单词(在MATLAB中)?

  28. 28

    如何在字符串R中的两个单词之间获取多个文本?

  29. 29

    如何在字符串中的字符之前找到单词

热门标签

归档