如何在javascript中解析字符串并捕获最后一个字符串之前的所有文本<;br>;

如何在javascript中解析字符串并捕获最后一个字符串之前的所有文本<;br>;,javascript,jquery,string,Javascript,Jquery,String,我有一些javascript文本,如下所示: This is my text<br>This is my second line of text var div, result, str = "This is my text<br>This is my second line of text"; (div = document.createElement('div')).innerHTML = str; var result = div.firstChild.data;

我有一些javascript文本,如下所示:

This is my text<br>This is my second line of text
var div, result, str = "This is my text<br>This is my second line of text";
(div = document.createElement('div')).innerHTML = str;
var result = div.firstChild.data;
所以基本上找到最后一个

<br>


如果你的文本真的那么简单,你可以在

var str = "This is my text<br>This is my second line of text"
var result = str.split('<br>')[0];
var str=“这是我的文本
这是我的第二行文本” var result=str.split(“
”)[0];
如果它更复杂,可能值得使用浏览器内置的HTML解析器,这样您就可以像处理DOM节点一样对它们进行操作

在这种情况下,它可能如下所示:

This is my text<br>This is my second line of text
var div, result, str = "This is my text<br>This is my second line of text";
(div = document.createElement('div')).innerHTML = str;
var result = div.firstChild.data;
var div,result,str=“这是我的文本
这是我的第二行文本”; (div=document.createElement('div')).innerHTML=str; var result=div.firstChild.data;
…或者使用jQuery更简单一点:

var str = "This is my text<br>This is my second line of text"
var result = $('<div>',{html:str}).contents().first().text();
var str=“这是我的文本
这是我的第二行文本” var result=$('',{html:str}).contents().first().text();
如果你的文本真的那么简单,你可以在

var str = "This is my text<br>This is my second line of text"
var result = str.split('<br>')[0];
var str=“这是我的文本
这是我的第二行文本” var result=str.split(“
”)[0];
如果它更复杂,可能值得使用浏览器内置的HTML解析器,这样您就可以像处理DOM节点一样对它们进行操作

在这种情况下,它可能如下所示:

This is my text<br>This is my second line of text
var div, result, str = "This is my text<br>This is my second line of text";
(div = document.createElement('div')).innerHTML = str;
var result = div.firstChild.data;
var div,result,str=“这是我的文本
这是我的第二行文本”; (div=document.createElement('div')).innerHTML=str; var result=div.firstChild.data;
…或者使用jQuery更简单一点:

var str = "This is my text<br>This is my second line of text"
var result = $('<div>',{html:str}).contents().first().text();
var str=“这是我的文本
这是我的第二行文本” var result=$('',{html:str}).contents().first().text();
如果您确定br不会是XHTML br,那么Maxym的答案很好。否则,正则表达式应执行以下操作:

var result = text.match(/([\s\S]+)<br\s*\/?>[\s\S]*$/i)[1];
var result=text.match(/([\s\s]+)[\s\s]*$/i)[1];

如果您确定br不会是XHTML br,那么Maxym的答案很好。否则,正则表达式应执行以下操作:

var result = text.match(/([\s\S]+)<br\s*\/?>[\s\S]*$/i)[1];
var result=text.match(/([\s\s]+)[\s\s]*$/i)[1];

像“这是我的文本”这样的字符串应该返回什么?“这是我的文本”或“这是我的文本
第二行”?像“这是我的文本
第二行
这是我的第三行文本”这样的字符串应该返回什么?“这是我的文本”或“这是我的文本
秒”?