[英]How to remove \r\n from string at :
嘿,我試圖拆分從文件中讀取的一行,該文件包含幾行,讀起來像
username:password\r\n
username:password\r\n
username:password\r\n
等等,我不知道如何同時完成它們並將它們分成 2 個不同的變量,一個用於用戶名,另一個用於密碼。
使用正則表達式和matchAll()
,並將返回的迭代器傳遞給Array.from()
並使用內置的map()
返回對象。 (具有允許:
在密碼中的額外好處)
const input = 'user1:password1\\r\\nuser2:password2\\r\\nuser3:password3\\r\\n'; const result = Array.from( input.matchAll(/(.+?):(.+?)\\r\\n/g), ([, username, password]) => ({ username, password }) ); console.log(result);
請嘗試以下代碼。
var mainStr = "username:password\\r\\nusername:password\\r\\nusername:password\\r\\n"; var usernameArr = []; var passwordArr = []; mainStr.split("\\r\\n").forEach(str => { var strArr = str.split(":"); strArr[0] && usernameArr.push(strArr[0]); strArr[1] && passwordArr.push(strArr[1]); }); console.log("Username ", usernameArr); console.log("Password ", passwordArr);
使用 .replace 方法
const str ='username:password\r\n'
const username = str.split(:)[0];
const password = str.split(:)[1].replace(/[\r\n]+/g, '');
對於完整字符串:
const str =`username:password\r\n
username:password\r\n
username:password\r\n`;
const res = str.split(/[\r\n]/g)
.filter(l=>l!=="")
.map(s=>({username:s.split(':')[0], password:s.split(':')[1]}));
console.log(res)
// [{username:'username', password:'password'},...];
您可以將其轉換為鍵/值對數組
let lines = `john:123443\\r\\n alan:ffg1234\\r\\n someone:xxghj!34\\r\\n`; let pairs = lines.split("\\r\\n") // convert into an array .map(l => l.split(':') // split on the : .map(e => e.replaceAll("\\r", "").replaceAll("\\n", ""))) // clear out any extra newlines that lingered .filter(e => e.join('').trim() != '') // filter out any empties gathered along the way .map(grp => ({username: grp[0], password: grp[1]})) // transform the array into key/value pairs console.log(pairs)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.