Một cách khác là KMP (KnuthTHER Morris, Fratt).
Nội dung chính
Show
- Kiểm tra xem một chuỗi có chứa chuỗi con với chuỗi.includes #
- Kiểm tra xem một chuỗi có chứa chuỗi con với String.indexof #
- Đọc thêm #
- Làm cách nào để kiểm tra xem một văn bản có chứa một chuỗi không?
- Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?
- Làm thế nào để bạn kiểm tra xem một phần tử là một chuỗi trong javascript?
- Làm thế nào để bạn kiểm tra xem một chuỗi có chứa chuỗi con trong TypeScript không?
Nội phân chính
- Kiểm tra xem một chuỗi có chứa chuỗi con với chuỗi.includes #
- Kiểm tra xem một chuỗi có chứa chuỗi con với String.indexof #
- Đọc thêm #
- Làm cách nào để kiểm tra xem một văn bản có chứa một chuỗi không?
- Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?
- Làm thế nào để bạn kiểm tra xem một phần tử là một chuỗi trong javascript?
- Làm thế nào để bạn kiểm tra xem một chuỗi có chứa chuỗi con trong TypeScript không?
Thuật toán KMP tìm kiếm một chuỗi con dài-M trong chuỗi độ dài-N trong trường hợp xấu nhất O (N+M), so với trường hợp xấu nhất của O (N⋅m) cho thuật toán ngây thơ Hãy hợp lý nếu bạn quan tâm đến sự phức tạp trong trường hợp xấu nhất.
Dưới đây là triển khai JavaScript của Project Nayuki, được lấy từ https://www.nayuki.io/res/knuth-morris-pratt-string-pratching/kmp-string-patcher.js:
// Searches for the given pattern string in the given text string using the Knuth-Morris-Pratt string matching algorithm.
// If the pattern is found, this returns the index of the start of the earliest match in 'text'. Otherwise -1 is returned.
function kmpSearch(pattern, text) {
if (pattern.length == 0)
return 0; // Immediate match
// Compute longest suffix-prefix table
var lsp = [0]; // Base case
for (var i = 1; i < pattern.length; i++) {
var j = lsp[i - 1]; // Start by assuming we're extending the previous LSP
while (j > 0 && pattern[i] !== pattern[j])
j = lsp[j - 1];
if (pattern[i] === pattern[j])
j++;
lsp.push(j);
}
// Walk through text string
var j = 0; // Number of chars matched in pattern
for (var i = 0; i < text.length; i++) {
while (j > 0 && text[i] != pattern[j])
j = lsp[j - 1]; // Fall back in the pattern
if (text[i] == pattern[j]) {
j++; // Next char matched, increment position
if (j == pattern.length)
return i - (j - 1);
}
}
return -1; // Not found
}
console.log(kmpSearch('ays', 'haystack') != -1) // true
console.log(kmpSearch('asdf', 'haystack') != -1) // false
Tóm Tắt
Kiểm tra xem một chuỗi có chứa chuỗi con với chuỗi.includes #
Kiểm tra xem một chuỗi có chứa chuỗi con với String.indexof #
Copied!
const
string=
'hello world'
;
const
substring=
'hello'
;
console
.
log
(
string.
includes
(
substring)
)
;
// 👉️ true
if
(
string.
includes
(
substring)
)
{
// 👉️ substring is contained in string
}
Đọc thêm #
Làm cách nào để kiểm tra xem một văn bản có chứa một chuỗi không?
Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?
Copied!
const
string=
'HELLO world'
;
const
substring=
'hello'
;
// 👇️ true
console
.
log
(
string.
toLowerCase
(
)
.
includes
(
substring.
toLowerCase
(
)
)
)
;
if
(
string.
toLowerCase
(
)
.
includes
(
substring.
toLowerCase
(
)
)
)
{
// 👉️ substring is contained in string
}
Kiểm tra xem một chuỗi có chứa chuỗi con với String.indexof #
Đọc thêm #
- Làm cách nào để kiểm tra xem một văn bản có chứa một chuỗi không?
- Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?
- Làm thế nào để bạn kiểm tra xem một phần tử là một chuỗi trong javascript?
Copied!
const
string=
'hello world'
;
const
substring=
'hello'
;
const
index=
string.
indexOf
(
substring)
;
console
.
log
(
index)
;
// 👉️ 0
if
(
string.
indexOf
(
substring)
!==
-
1
)
{
// 👉️ substring is contained in string
}
Làm thế nào để bạn kiểm tra xem một chuỗi có chứa chuỗi con trong TypeScript không?
Thuật toán KMP tìm kiếm một chuỗi con dài-M trong chuỗi độ dài-N trong trường hợp xấu nhất O (N+M), so với trường hợp xấu nhất của O (N⋅m) cho thuật toán ngây thơ Hãy hợp lý nếu bạn quan tâm đến sự phức tạp trong trường hợp xấu nhất.
Dưới đây là triển khai JavaScript của Project Nayuki, được lấy từ https://www.nayuki.io/res/knuth-morris-pratt-string-pratching/kmp-string-patcher.js:
Sử dụng phương thức String.includes()
để kiểm tra xem một chuỗi có chứa chuỗi con không, ví dụ: myString.includes('substring')
. Phương thức String.includes
trả về true
Nếu bộ nền được chứa trong chuỗi, nếu không false
được trả về.
Đọc thêm #
- Làm cách nào để kiểm tra xem một văn bản có chứa một chuỗi không?
- Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?
- Làm thế nào để bạn kiểm tra xem một phần tử là một chuỗi trong javascript?
- Làm thế nào để bạn kiểm tra xem một chuỗi có chứa chuỗi con trong TypeScript không?
- Thuật toán KMP tìm kiếm một chuỗi con dài-M trong chuỗi độ dài-N trong trường hợp xấu nhất O (N+M), so với trường hợp xấu nhất của O (N⋅m) cho thuật toán ngây thơ Hãy hợp lý nếu bạn quan tâm đến sự phức tạp trong trường hợp xấu nhất.
- Dưới đây là triển khai JavaScript của Project Nayuki, được lấy từ https://www.nayuki.io/res/knuth-morris-pratt-string-pratching/kmp-string-patcher.js:
- Sử dụng phương thức
String.includes()
để kiểm tra xem một chuỗi có chứa chuỗi con không, ví dụ:myString.includes('substring')
. Phương thứcString.includes
trả vềtrue
Nếu bộ nền được chứa trong chuỗi, nếu khôngfalse
được trả về. - Chúng tôi đã sử dụng phương thức String.includes để kiểm tra xem một chuỗi con có chứa trong một chuỗi không.
- Nếu chất nền được chứa trong chuỗi, phương thức
String.includes
trả vềtrue
, nếu không nó sẽ trả vềfalse
.
Làm cách nào để kiểm tra xem một văn bản có chứa một chuỗi không?
Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?use contains(), indexOf() and
lastIndexOf() method to check if one String contains another String in Java or not. If a String contains another String then it’s known as a substring. The indexOf() method accepts a String and returns the starting position of the string if it exists, otherwise, it will return -1.
Làm thế nào để bạn kiểm tra một chuỗi chứa một ký tự trong JavaScript?
Làm thế nào để bạn kiểm tra xem một phần tử là một chuỗi trong javascript?includes() method determines whether a
string contains the given characters within it or not. This method returns true if the string contains the characters, otherwise, it returns false.
Làm thế nào để bạn kiểm tra xem một phần tử là một chuỗi trong javascript?
Làm thế nào để bạn kiểm tra xem một chuỗi có chứa chuỗi con trong TypeScript không?, e.g. if (typeof variable === ‘string’) . If the typeof operator returns “string” , then the variable is a string.
Làm thế nào để bạn kiểm tra xem một chuỗi có chứa chuỗi con trong TypeScript không?
Thuật toán KMP tìm kiếm một chuỗi con dài-M trong chuỗi độ dài-N trong trường hợp xấu nhất O (N+M), so với trường hợp xấu nhất của O (N⋅m) cho thuật toán ngây thơ Hãy hợp lý nếu bạn quan tâm đến sự phức tạp trong trường hợp xấu nhất.includes() method which is used to determine the string characters whether it contains the characters of the specified string or not by using this method we can return the boolean values like true and false …