繁体   English   中英

检查字符串中是否存在子字符串

[英]check if substring exist in string

我想检查一个子字符串是否包含在一个字符串中,但是子字符串包含一个数字,这个数字可以改变。 我使用了 RegExp 但它不起作用

let url = "http://localhost:8080/api/issue/board/537/sprint";

url.includes('/issue/board/537/sprint'); // true

值 537 可以改变

var reg = new RegExp('^[0-9]+$');

url.includes('/issue/board/' + reg  +'/sprint'); // false

这不是您使用 Regex 的方式。

创建表达式:

const reg = new RegExp('/issue/board/[0-9]+/sprint');

并根据您的网址对其进行测试:

const url = "http://localhost:8080/api/issue/board/537/sprint";
const matches = url.test(reg); // true
var reg = new RegExp('/issue/board/[0-9]+/sprint')
const condition = new RegExp('\/issue\/board\/[0-9]+\/sprint').test('http://localhost:8080/api/issue/board/537/sprint'); // true

 const reg = new RegExp('/issue/board/[0-9]+/sprint'); const url = "http://localhost:8080/api/issue/board/537/sprint"; const matches = url.match(reg); console.log(matches ? true: false)

const regex = new RegExp('\/board\/(.*?)\/sprint');

const url = 'http://localhost:8080/api/issue/board/537/sprint';
const test = regex.test(url);
const matches = regex.exec(url);

console.log(test); // true
console.log(matches[1]); //537

最简单的方法就是使用 indexOf。 像这样

let url = "http://localhost:8080/api/issue/board/537/sprint",
    match = '/issue/board/537/sprint';

if (url.indexOf(match) !== -1) {
  // true
} else {
  // false 
}

未包含在您检查的字符串中的字符串的 indexOf 将始终为 -1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM