javascript - 我如何知道 JS 中的第二行位置?
问题描述
var flight = `
KE 925 H 18SEP 6 ICNAMS DK1 1405 1855 18SEP
KL1733 H 18SEP 6 AMSBRU DK1 2130 2215 18SEP
`;
console.log(flight.substr(49, 7))
我有这个字符串flight
,我想定位第二行的第一个位置。
这是我知道的唯一方法:
flight.substr(49, 7)
49 表示第 49 位的字符。但是,第一行中的字符数经常变化,因此无法flight.substr(49, 7)
静态写入。
那么我怎么知道第二行的第 0 位呢?
我正在寻找类似的东西flight.substr(secondline 0, 7)
解决方案
编程不是重复代码和 HTML。
如果我可以建议使用 RegExp 的不同方法将您的行解析为完整的票证
const flight = `KE 925 H 18SEP 6 ICNAMS DK1 1405 1855 18SEP
KL1733 H 18SEP 6 AMSBRU DK1 2130 2215 18SEP`;
const EL_flights = document.querySelector("#flights");
const parseFliResCode = (ticket) => {
const [code, flight, dd, num, from, to, seat, dt, at, ad] =
/^(.{8}) (.{5}) (.) (.{3})(.{3}) (.{4}) (\d{4}) (\d{4}) +(.{5}) *$/
.exec(ticket);
return {
flight, num, seat,
from, [`departure date`]: dd, [`departure time`]: dt,
to, [`arrival date`]: ad, [`arrival time`]: at,
};
};
flight.split("\n").forEach((code) => {
const obj = parseFliResCode(code);
const HTML = Object.entries(obj).reduce((h, [key, val]) =>
h + `<div class="cell">
<span class="key">${key}:</span>
<span class="val">${val}</span>
</div>`
, "");
EL_flights.insertAdjacentHTML("beforeend", `<div class="ticket">${HTML}</div>`);
});
* {margin: 0; box-sizing: border-box}
body {font: 14px/1.4 sans-serif;}
.ticket {
border: 1px solid hsl(150 40% 80%);
padding: 5px;
display: flex;
flex-flow: row wrap;
margin-bottom: 5px;
background: hsl(150 40% 94%);
}
.ticket .cell {
padding: 3px 10px;
display: flex;
flex: 1 0 33.333%;
align-items: baseline;
}
.ticket .key {
text-transform: capitalize;
opacity: 0.5;
margin-right: 0.5em;
}
.ticket .val {
font-size: 1.4em;
font-family: monospace;
}
<div id="flights"></div>
Regex101.com上的正则表达式示例
推荐阅读
- java - Java线程连接方法调用等待哪个对象?
- amazon-web-services - 您如何维护 Drupal 安装的手动设置?
- c# - 如何为幸运抽奖轮添加随机调度程序计时器(C#,XAML)
- asp.net-mvc - Asp .Net MVC,如何将值放入/包含到 DropDownListFor?
- javascript - 覆盖自定义迭代器的下一个方法
- python - Azure Detect faces API,如何将URL图片更改为本地图片?
- php - 如何用 Xpath 解析 body 类?
- python - 如何用python制作一个列表的XML?
- android - 为什么我可以在 Kotlin 中访问伴随对象之外的私人乐趣?
- python - 为什么我循环遍历方阵时会发生变化?