我有一个用于分割文本的代码,但它丢失了一些数据。我的问题是如何分割文本并保留所有数据。我的代码如下?
function splitArray(){
var myStr = "| 07.02.2017 13:49:25 | Guest 6278: Hi anybody here | 07.02.2017 13:49:58 | Admin: Yes, how may l help you | 07.02.2017 13:50:25 | Guest 6278: Do we have to change sites | 07.02.2017 13:50:58 | Admin: No, no need";
var strArray = myStr.split(" | 0");
// Display array values on page
for (var i = 0; i < strArray.length; i++) {
$("body").append("<p>" + strArray[i] + "</p>");
}
}
问题出在这里,它删除了日期 7 之前的数字 (0)
| 2017 年 2 月 7 日 13:49:25 |访客 6278:大家好
2017年2月7日13:49:58 |管理员:是的,我能为您提供什么帮助
2017年2月7日13:50:25 |客人6278:我们要换地点吗
2017年2月7日13:50:58 |管理员:不,不需要
最佳答案
您可以将RegExp
与正向前瞻
结合使用。
很少有人问如果数字不是以 0
开头,那么您应该使用 /(?=\|\d)/
.如果您只关心以 0
开头的数字 - 使用 /(?=\| 0)/
function splitArray(){
var myStr = "| 07.02.2017 13:49:25 | Guest 6278: Hi anybody here | 17.02.2017 13:49:58 | Admin: Yes, how may l help you | 07.02.2017 13:50:25 | Guest 6278: Do we have to change sites | 07.02.2017 13:50:58 | Admin: No, no need";
var strArray = myStr.split(/(?= \| \d)/);
// Display array values on page
for (var i = 0; i < strArray.length; i++) {
$("body").append("<p>" + strArray[i] + "</p>");
}
}
splitArray();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于javascript - 使用 javascript 分割文本而不丢失数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42649978/