繁体   English   中英

删除字符串中出现在特定字符之后的字符

[英]Remove characters in String that appear after specific character

在Google Apps脚本中,我试图从出现在特定字符之后的字符串中删除所有字符。

当我执行Logger.log(data)时,我得到了:

[17-12-14 19:31:55:251 GMT] 
[17-12-14 19:31:55:252 GMT] ID
[17-12-14 19:31:55:253 GMT] 11111||q467jeX
[17-12-14 19:31:55:254 GMT] undefined
[17-12-14 19:31:55:255 GMT] 
[17-12-14 19:31:55:256 GMT] ID
[17-12-14 19:31:55:257 GMT] undefined
[17-12-14 19:31:55:258 GMT] 22222||K6OmenP
[17-12-14 19:31:55:259 GMT] 

我想删除“ |”之后的所有字符,以便“数据”看起来像:

[17-12-14 19:31:55:251 GMT] 
[17-12-14 19:31:55:252 GMT] ID
[17-12-14 19:31:55:253 GMT] 11111
[17-12-14 19:31:55:254 GMT] undefined
[17-12-14 19:31:55:255 GMT] 
[17-12-14 19:31:55:256 GMT] ID
[17-12-14 19:31:55:257 GMT] undefined
[17-12-14 19:31:55:258 GMT] 22222
[17-12-14 19:31:55:259 GMT] 

我尝试使用.split,.map和.subString方法,但是我一定做错了。 有谁知道最好的方法吗?

您可以使用JavaScript String split()方法

var text = "22222||K6OmenP";
var data = text.split("|")[0];
Logger.log(data);

.indexOf是您要查找的方法。 做一个x.substring(0,x.indexOf('|'));

如果这是Javascript中的字符串(问题被标记为javascript),则应该可以使用简单的regex实现所需的结果:

const subject = `[17-12-14 19:31:55:251 GMT] 
[17-12-14 19:31:55:252 GMT] ID
[17-12-14 19:31:55:253 GMT] 11111||q467jeX
[17-12-14 19:31:55:254 GMT] undefined
[17-12-14 19:31:55:255 GMT] 
[17-12-14 19:31:55:256 GMT] ID
[17-12-14 19:31:55:257 GMT] undefined
[17-12-14 19:31:55:258 GMT] 22222||K6OmenP
[17-12-14 19:31:55:259 GMT]
`;

const result = subject.replace(/(\|.*)$/gm, '');

您必须正在做console.log(str)Logger.log(str)

因此,尝试仅用String(str).subString(0, String(str).indexOf('|'))替换该str

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM