我有以下函数来获取字符串中的最后一个换行符位置:
function getLastLineBreak (content) {
function reverse(s){
return s.split("").reverse().join("")
}
var reversed = reverse(content)
var index = content.length-reversed.indexOf("\n")
return index
}
var myString = "some text \n next linet \n another link \n 123"
indexIs = getLastLineBreak(myString)
console.log("index is", indexIs)
console.log("text after", indexIs, myString.substr(indexIs,myString.length))
有没有办法使用正则表达式来获取nodejs中字符串中的最后一个换行位置?
答案 0 :(得分:4)
您可以使用String.prototype.lastIndexOf
var myString = "some text \n next linet \n another link \n 123";
document.write(myString.lastIndexOf('\n'));
答案 1 :(得分:0)
这也应该有用
(.*$)
我们可以利用.
与新行不匹配的事实。
<强> Ideone Demo 强>
JS代码
var re = /(.*$)/g;
var str = 'some text \n next linet \n another link \n 123';
matches = re.exec(str);
document.writeln(matches[1])
答案 2 :(得分:0)
我会用老式的方式做。 // Hash a password for the first time
String hashed = BCrypt.hashpw(password, BCrypt.gensalt());
// gensalt's log_rounds parameter determines the complexity
// the work factor is 2**log_rounds, and the default is 10
String hashed = BCrypt.hashpw(password, BCrypt.gensalt(12));
// Check that an unencrypted password matches one that has
// previously been hashed
if (BCrypt.checkpw(candidate, hashed))
System.out.println("It matches");
else
System.out.println("It does not match");
这应该从字符串的结尾开始并向后工作 在大多数情况下,最后一个换行符可能最接近。