js取出结尾的最长字符串
时间: 2023-07-10 07:34:44 浏览: 42
你可以使用 JavaScript 中的 `substr()` 函数结合字符串的长度属性来获取结尾的最长子字符串。具体实现如下:
```javascript
function getEndLongestString(str) {
let longest = '';
for (let i = str.length - 1; i >= 0; i--) {
let current = str.substr(i);
if (str.indexOf(current) === i && current.length > longest.length) {
longest = current;
}
}
return longest;
}
```
以上代码中,我们先定义了一个变量 `longest` 用来存储找到的结尾最长子字符串,然后通过一个循环,从字符串的最后一个字符往前遍历。在每个循环中,我们使用 `substr()` 函数获取从当前位置到字符串结尾的子字符串,并判断这个子字符串是否是字符串结尾的最长子字符串。如果是,则将其赋值给 `longest` 变量。最后返回 `longest` 变量即可。
相关问题
js以正则取出结尾的最长字符串
可以使用 JavaScript 的正则表达式来取出结尾的最长字符串,具体实现如下:
```javascript
function getEndLongestString(str) {
let longest = '';
let reg = /(.*)(\1+)$/; // 匹配最长的重复子串
if (reg.test(str)) {
longest = RegExp.$2;
}
return longest;
}
```
以上代码中,我们定义了一个变量 `longest` 来存储找到的结尾最长子字符串。然后定义了一个正则表达式 `/(.*)(\1+)$/`,它可以匹配字符串结尾的最长重复子串。我们使用 `test()` 方法检测字符串是否符合正则表达式的规则。如果符合,则使用 `$2` 取出匹配到的最长重复子串。
最后返回 `longest` 变量即可。
js以正则取出结尾的数字字符串
你可以使用正则表达式来取出结尾的数字字符串。具体实现如下:
```javascript
function getEndNumberString(str) {
let reg = /\d+$/; // 匹配结尾的数字字符串
if (reg.test(str)) {
return RegExp.lastMatch;
} else {
return '';
}
}
```
以上代码中,我们定义了一个正则表达式 `/\d+$/`,它可以匹配结尾的数字字符串。使用 `test()` 方法检测字符串是否符合正则表达式的规则。如果符合,则可以使用 `lastMatch` 属性来获取匹配到的结尾数字字符串。如果不符合,则返回空字符串 `''`。