根据特殊字符和换行符将字符串拆分为多个字段 - Javascript
Split strings into multiple fields based on special characters and newline - Javascript
我有一个个人资料字段,其中每个用户个人资料的数据采用以下格式。
用户 1 可以如下填充他的个人资料字段,而用户 2 可以只在他们的个人资料中列出一个 role/id/company。
RoleA : 123456 - company1 \n
RoleB : 234567 - company2 \n
RoleC : 891011
我应该将每个用户的角色拆分为 1 个以逗号分隔的字段,并将 id/company 拆分为另一个以逗号分隔的字段。
对于上面的数据,输出应该是这样的-
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
我试图认为输入和输出与您在问题中提供的完全相似。无论如何,我希望你明白我在这里想做什么。
我有一个个人资料字段,其中每个用户个人资料的数据采用以下格式。
用户 1 可以如下填充他的个人资料字段,而用户 2 可以只在他们的个人资料中列出一个 role/id/company。
RoleA : 123456 - company1 \n
RoleB : 234567 - company2 \n
RoleC : 891011
我应该将每个用户的角色拆分为 1 个以逗号分隔的字段,并将 id/company 拆分为另一个以逗号分隔的字段。
对于上面的数据,输出应该是这样的-
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
我试图认为输入和输出与您在问题中提供的完全相似。无论如何,我希望你明白我在这里想做什么。