如果索引未知,如何在javascript中查找子字符串?

发布于 2024-12-24 18:43:13 字数 1088 浏览 2 评论 0原文

假设我有一个包含 HTML 文件的字符串。如何仅将脚本部分作为我的子字符串?

示例字符串是:

str="<html>...<script>...</script>...</html>"

我只需要脚本部分。

<script type = "text/javascript">
function Showques()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    } 
    else 
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    //getting response from servlet
    xmlhttp.onreadystatechange=function();
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) 
        {
            var localString=xmlhttp.responseText;
            var locationstart =localString.indexOf('<script>');
            var locationend = localString.indexOf('</script>');
            //eval(xmlhttp.responseText);
            document.getElementById("ques").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST","XmlApp",true);
    xmlhttp.send();
}
</script>

当我在 indexOf 方法中给出 时,它被视为我在开头声明的脚本的结尾,而其余部分我收到错误。

Suppose I have a string which contains an HTML file. How do I get the script part only as my sub string?

The example string is :

str="<html>...<script>...</script>...</html>"

I only need the script part.

<script type = "text/javascript">
function Showques()
{
    var xmlhttp;
    if (window.XMLHttpRequest)
    {
        xmlhttp=new XMLHttpRequest();
    } 
    else 
    {
        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    //getting response from servlet
    xmlhttp.onreadystatechange=function();
    {
        if (xmlhttp.readyState==4 && xmlhttp.status==200) 
        {
            var localString=xmlhttp.responseText;
            var locationstart =localString.indexOf('<script>');
            var locationend = localString.indexOf('</script>');
            //eval(xmlhttp.responseText);
            document.getElementById("ques").innerHTML=xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST","XmlApp",true);
    xmlhttp.send();
}
</script>

When I give </script> within indexOf method it's considering as the end of my script which i declared in the beginning and rest of things I am getting error.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

情绪 2024-12-31 18:43:13

用于

string.indexOf(searchstring, start)

在字符串中查找正确的索引。然后您可以在 substr 函数中使用索引。

希望这有帮助。

Use

string.indexOf(searchstring, start)

to find the proper index in the string. You can then use the index in your substr function.

Hope this helps.

网名女生简单气质 2024-12-31 18:43:13

如果你的字符串是一个实际的 html 文件,你可能最好使用 dom 解析器。
如果您正在使用 javascript,这里有一个简单的 jQuery 方法:

str="<html>...<script>...</script>...</html>";
$(str).find("script").get(0).outerHtml;

you should probably better use a dom parser if your string is an actual html file.
If you are working with javascript, here is a simple jQuery way to do it :

str="<html>...<script>...</script>...</html>";
$(str).find("script").get(0).outerHtml;
木落 2024-12-31 18:43:13

试试这个来自This

 String str = "yourStringTosearch"
 int location = str.indexOf('String');
 string.substring(location , to)

好的,根据您的示例执行此操作

 String str = "<html>...<script>...</script>...</html>"
 int locationStart = str.indexOf('<script>');
 int locationend = str.indexOf('</script>');
 strinf finalString =string.substring(locationStart , locationend );   //ur final string value

try this from aNd This

 String str = "yourStringTosearch"
 int location = str.indexOf('String');
 string.substring(location , to)

Ok according to ur example do this

 String str = "<html>...<script>...</script>...</html>"
 int locationStart = str.indexOf('<script>');
 int locationend = str.indexOf('</script>');
 strinf finalString =string.substring(locationStart , locationend );   //ur final string value
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文