Javascript 如何在JS中删除部分文本?

Javascript 如何在JS中删除部分文本?,javascript,text,Javascript,Text,我用javascript编写了以下代码: let text1 = 'Hello World by artist XXXX'; let text2 = 'Bye World by artist YYYY'; let text3 = '¿World? by artist ZZZZ'; 我需要在另一个变量中保留“by artist XXXX”之前的文本。像这样: let keepText1 = 'Hello World'; let keepText2 = 'Bye World'; let keepT

我用javascript编写了以下代码:

let text1 = 'Hello World by artist XXXX';
let text2 = 'Bye World by artist YYYY';
let text3 = '¿World? by artist ZZZZ';
我需要在另一个变量中保留“by artist XXXX”之前的文本。像这样:

let keepText1 = 'Hello World';
let keepText2 = 'Bye World';
let keepText3 = '¿World?';
有办法吗

我怎样才能删除文本“by”后面的短语??我的意思是,如果艺术家有不同的名字,比如:

let text4 = 'Hello Universe by artist Daniel Zamoga';
我需要:

let keepText4 = 'Hello Universe';

使用正则表达式replace
.replace(/by-artist[a-Z]+/,'')

console.log('Hello World by artist XXXX'。替换(/由artist[A-Z]+/,'');
log('Bye World by artist YYYY'。替换(/由artist[A-Z]+/,'');

console.log('World?由艺术家ZZZZ'。替换(/由艺术家[A-Z]+/,'')使用正则表达式替换
.replace(/by-artist[a-Z]+/,'')

console.log('Hello World by artist XXXX'。替换(/由artist[A-Z]+/,'');
log('Bye World by artist YYYY'。替换(/由artist[A-Z]+/,'');

console.log('World?由艺术家ZZZZ'。替换(/由艺术家[A-Z]+/,'')您可以拆分并参与第一部分:

"Hello World by artist XXXX".split(" by artist")[0]

将返回“Hello World”

您可以拆分并参与第一部分:

"Hello World by artist XXXX".split(" by artist")[0]

将返回
“Hello World”

您看过
String.prototype.indexOf
String.prototype.substring
String.prototype.replace
?您看过
String.prototype.indexOf
String.prototype.substring
String.prototype.replace
?使用
可能更好(.*))
用于匹配艺术家姓名,因为它可能包含多个单词和数字。例如,
Blink 182
Michael Jackson
,等等。我不太关心确切的正则表达式,我只是给出了一个适用于提供的示例文本的演示。使用
(.*)
匹配艺术家名称可能更好,因为它可能包含多个单词和数字。例如,
blink182
Michael Jackson
,等等。我不太关心确切的正则表达式,我只是给出了一个适用于所提供示例文本的演示。