如何替换字符串

时间:2016-08-06 18:40:51

标签: jquery

有没有办法只从textarea的值替换字符串的最后一行?我将要改变的字符串将是动态的!这段代码在jquery中!

var $textarea = $('#textarea');
var textarea_val = $textarea.val()
var value_list = textarea_val.split("\n");
var string_to_change = "lol"; //This value is dynamic
var last_value = value_list[invite_value.length - 1];


$textarea.val(textarea_val.replace(last_value, string_to_change)) //This is where I am stuck at!

最后一段代码将替换textarea_val的last_value的每个实例,这是我想要阻止的,只替换textarea值的最后一行!

4 个答案:

答案 0 :(得分:1)

您更改数组中的最后一个值:)然后再次加入



$('.replace').click(function() {
  var txt = $('#textarea');
  var text = txt.val().trim("\n");
  var valuelist = text.split("\n");
  var string_to_replace = "lol";
  valuelist[valuelist.length-1] = string_to_replace;
  txt.val(valuelist.join("\n"));

})

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="textarea">

</textarea>
<button class="replace">Replace</button>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

从数组中删除最后一个元素,然后添加一个新元素并更改textarea值

$('.change').click(function() {
  var txt = $('#textarea');
  var valuelist = txt.val().split("\n");
  var string_to_replace = "lol";
  valuelist.pop();
  valuelist.push(string_to_replace);
  txt.val(valuelist.join("\n"));

})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<textarea id="textarea">

</textarea>
<button class="change">change</button>

答案 2 :(得分:1)

您可以替换数组中的最后一项,然后将数组连接回字符串并将值设置回textarea

var value_list = textarea_val.split("\n");
var string_to_change = "lol"; //This value is dynamic
value_list[value_list.length -  1] = string_to_change

$textarea.val(value_list.join("\n")) 

答案 3 :(得分:1)

var position = $textarea_val.lastIndexOf(last_value);
$textarea.val($textarea_val.substring(0, position) + string_to_change + $textarea_val.substring(position + last_value.length);

这样的东西?