簡體   English   中英

根據特殊字符和換行符將字符串拆分為多個字段 - Javascript

[英]Split strings into multiple fields based on special characters and newline - Javascript

我有一個配置文件字段,其中每個用戶配置文件的數據格式如下。

用戶 1 可以按如下方式填充他的個人資料字段,而用戶 2 可以在他們的個人資料中僅列出一個角色/id/公司。

RoleA : 123456 - company1 \n

RoleB : 234567 - company2 \n

RoleC : 891011

我應該將每個用戶的角色拆分為用逗號分隔的 1 個字段,將 id/company 拆分為另一個用逗號分隔的字段。

對於上述數據,output 應該看起來像 -

Role field - RoleA, RoleB, RoleC

ID/Company field - 123456-company1, 234567-company2.

這必須在JavaScript中完成。 任何建議表示贊賞。

謝謝!

你應該做的是類似於下面的事情:

function splitProfile(profile, roleList, idCompanyList) {
  var splitProfileString = profile.split(" : ");
  roleList.push(splitProfileString[0]);

  var splitIdCompanyString = splitProfileString[1].split(" - ");
  // check if there is a company for `id`
  if(splitIdCompanyString[1]) {
    idCompanyList.push(splitIdCompanyString[0] + "-" + splitIdCompanyString[1].replace(" \n", ""));
  }
}


var roleIdCompanyList = [
  "RoleA : 123456 - company1 \n",
  "RoleB : 234567 - company2 \n",
  "RoleC : 891011"
];

var roleList = [];
var idCompanyList = [];

roleIdCompanyList.forEach(function(roleIdCompany) {
  splitProfile(roleIdCompany, roleList, idCompanyList);
});

console.log(roleList.join(", ")); // RoleA, RoleB, RoleC
console.log(idCompanyList.join(", ")); // 123456-company1, 234567-company2

我試圖認為輸入和 output 與您在問題中提供的完全相似。 無論如何,我希望你能明白我在這里想要做什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM