Javascript:如何剪切字符串的特定部分?

时间:2015-05-07 08:10:32

标签: javascript regex string replace

情况:

我需要剪切字符串的特定部分。 该部分的长度和内容并不总是相同的。

我唯一知道的是它总是以:<style>开头 并以:</style>

结束

中间的所有内容都必须删除(包括样式标记)。


问题:

如何知道字符串的特定部分只知道该部分的开头和结尾?

5 个答案:

答案 0 :(得分:3)

尝试这样的事情:

var str = '<style> p {margin: 0; } </style> other text';
var result = str.replace(/\<style\>.*\<\/style\>/, '');

DEMO

UPD :要获取标记style(包含样式标记)中的内容,请尝试以下操作:

var result = str.match(/\<style\>.*\<\/style\>/)[0]

DEMO

答案 1 :(得分:1)

您可以使用javascript直接操作DOM而无需正则表达式或jquery。您需要选择目标元素/ class / id的父元素,然后删除子元素。

HTML:

var text = document.querySelectorAll("style")[0];
text.parentNode.removeChild(text);

JavaScript的:

def get_words(data):
      l = []
      w = ''
     for c in data.lower():
          if c in '\r \n ,':
              if w != '': 
                 l.append(w)
                 w = ''
              else:
                 w = w + c
          if w != '': 
              l.append(w)
return l

https://jsfiddle.net/kt6feq92/

中的演示

答案 2 :(得分:0)

假设您有以下string

var str = '<style>I am a style</style>';
var res = str.replace("<style>", "").replace("</style>", "");
alert(res);

<强> Demo

答案 3 :(得分:0)

获取部分字符串:

theString = 'asdfasdf<style>aaaaaaaaaaaaaa</style>bbbbbbbb'
targetString= theString.replace(/<\/style>/ig,'<style>').split('<style>')[1];

删除整个字符串:

theString = 'asdfasdf<style>aaaaaaaaaaaaaa</style>bbbbbbbb'
targetString= theString.replace(/<style>.*<\/style>/ig,'');

答案 4 :(得分:0)

您可能正在寻找regex

以下正则表达式将选择users = [1,2,3] for user in users: row = MyModel.objects.filter(user__id = user).order_by("order")[0] 标记之间的字符串:

<style></style>

DEMO