Hướng dẫn javascript replace capital letters - javascript thay thế chữ in hoa

Tôi đang cố gắng thay thế các chữ cái viết hoa trong toàn bộ chuỗi bằng các bộ phận bộ đếm chữ thường của chúng trong khi thêm dấu gạch nối sau nó [trừ khi đó là chữ cái cuối cùng]. Vì vậy,

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
1 sẽ đến
var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
2

var name = 'Sunny&Cloudy';
name.replace[/[[A-Z]][.*]/, '\L$1'];

Tôi đã tự mình thử cái này nhưng nó chỉ đạt đến chữ số vốn đầu tiên thêm dấu gạch nối và dừng lại. Để lại cho tôi

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
3

Khi được hỏi ngày 29 tháng 5 năm 2019 lúc 21:51May 29, 2019 at 21:51

WillMac997WillMac997WillMac997

1033 Huy hiệu bạc9 Huy hiệu Đồng3 silver badges9 bronze badges

9

Nếu bạn muốn chuyển đổi

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
1 thành
var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
2, thì mã sau sẽ hoạt động:

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end

Về cơ bản, bạn chỉ cần sử dụng

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
6 làm tham số thứ hai của
var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
7. [Tài liệu tham khảo]

Mặc dù vậy, nó không chỉ thay thế chữ cái viết hoa bằng đối tác viết thường của họ, vì vậy bạn có thể muốn sửa đổi mô tả câu hỏi của mình.

Đã trả lời ngày 29 tháng 5 năm 2019 lúc 22:09May 29, 2019 at 22:09

2

Một cách tiếp cận có thể cho những gì bạn cần là sử dụng chức năng thay thế của String.replace []

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}

Đã trả lời ngày 29 tháng 5 năm 2019 lúc 22:11May 29, 2019 at 22:11

ShiderszshiderszShidersz

16.5k2 Huy hiệu vàng22 Huy hiệu bạc48 Huy hiệu đồng2 gold badges22 silver badges48 bronze badges

Bạn có thể sử dụng các ranh giới Word

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
8 để chia chuỗi thành mã thông báo, ánh xạ mọi thứ thành chữ thường [ngoại trừ chữ cái cuối cùng] và tham gia kết quả cùng với A - Dash

function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]

Đã trả lời ngày 29 tháng 5 năm 2019 lúc 22:26May 29, 2019 at 22:26

Regex sau đây nên thực hiện thủ thuật:

const regex = /[.+?\b]+?/g;
const str = 'Sunny&Cloudy&rainy';
const subst = '$1-';
const result = str.replace[regex, subst];

//make string lowercase + remove last '-'
console.log['Substitution result: ', result.toLowerCase[].substring[0, result.length - 1]];

Nhân tiện regex101.com có ​​thể có ích để hoàn thiện một regex. Bạn có thể chọn tùy chọn Regex 'Ecmascript/JavaScript'. Tôi sử dụng trang web đó bất cứ khi nào tôi cần tạo ra một regex.

Đã trả lời ngày 29 tháng 5 năm 2019 lúc 22:52May 29, 2019 at 22:52

Bài viết này giải thích cách chuyển đổi một chuỗi thành các ký tự chữ thường và chữ hoa.

Chúng tôi cũng sẽ đi qua cách chỉ làm cho chữ cái đầu tiên trong một từ chữ hoa và làm thế nào để tạo chữ cái đầu tiên của mỗi từ trong một câu chữ hoa.

Bắt đầu nào!

Cách sử dụng phương thức
var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 trong JavaScript

Phương thức

.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
0 chuyển đổi một chuỗi thành chữ thường.

Cú pháp chung cho phương thức trông như thế này:

String.toLowerCase[]

Phương thức

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 không có bất kỳ tham số nào.

Chuỗi trong JavaScript là bất biến. Phương thức

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 chuyển đổi chuỗi được chỉ định thành một phương thức mới chỉ bao gồm các chữ cái viết thường và trả về giá trị đó.immutable. The
var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 method converts the string specified into a new one that consists of only lowercase letters and returns that value.

Nó có nghĩa là chuỗi cũ, nguyên bản không bị thay đổi hoặc bị ảnh hưởng theo bất kỳ cách nào.

let myGreeting = 'Hey there!';

console.log[myGreeting.toLowerCase[]];

//output
//hey there!

Chuỗi

.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
3 chỉ bao gồm một chữ số vốn được chuyển đổi thành chữ thường.

Bất kỳ chữ cái nào đã không bị ảnh hưởng bởi phương thức

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9, chỉ có các chữ cái viết hoa. Những chữ cái bảo tồn hình thức ban đầu của họ.

Chuỗi trong ví dụ dưới đây bao gồm tất cả các chữ in hoa. Sau đó, tất cả chúng được chuyển đổi thành chữ thường khi phương pháp

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 được áp dụng.

const  anotherGreeting = 'GOOD MORNING!!';

console.log[anotherGreeting.toLowerCase[]];
//output
//good morning!!

Cách sử dụng phương thức
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
6 trong JavaScript

Phương thức

.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
6 tương tự như phương thức
var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 nhưng thay vào đó nó chuyển đổi giá trị chuỗi thành chữ hoa.

Cú pháp chung để gọi phương thức trông như thế này:

String.toUpper[]

Nó không có trong bất kỳ tham số nào.

Vì các chuỗi trong JavaScript là bất biến, phương thức

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 không thay đổi giá trị của chuỗi được chỉ định.

Thay vào đó, nó trả về một giá trị mới. Chuỗi được chỉ định được chuyển đổi thành một nội dung mới có nội dung chỉ bao gồm tất cả các chữ cái chữ hoa. Điều này có nghĩa là bây giờ sẽ có hai chuỗi: bản gốc và bản gốc mới được chuyển đổi.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
0

Bất kỳ chữ in hoa nào đã có trong chuỗi sẽ không bị ảnh hưởng và sẽ không thay đổi khi phương thức

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 được gọi.

Cách chỉ viết hoa chữ cái đầu tiên trong một chuỗi trong JavaScript

Điều gì sẽ xảy ra nếu bạn chỉ muốn làm cho chữ cái đầu tiên của một chuỗi thành vốn?

Dưới đây là một ví dụ đơn giản cho bạn thấy một cách để làm điều đó.

Giả sử có một biến gọi là

.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
3 với giá trị chuỗi là
function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
2, trong tất cả các chữ cái viết thường.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
1

Trước tiên, bạn định vị và trích xuất chữ cái đầu tiên của chuỗi đó bằng cách sử dụng chỉ mục của nó. Sau đó, bạn gọi phương thức

.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
6 trên chữ cái cụ thể đó.

Một lời nhắc nhở, việc lập chỉ mục trong JavaScript [và hầu hết các ngôn ngữ lập trình] bắt đầu tại

function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
4, do đó, chữ cái đầu tiên có chỉ số là
function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
4.

Lưu thao tác này trong một biến mới gọi là

function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
6.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
2

Tiếp theo, bạn muốn cô lập và cắt bỏ ký tự đầu tiên đó và giữ phần còn lại của chuỗi.

Một cách để làm điều này là bằng cách sử dụng phương pháp

function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
7. Điều này tạo ra một chuỗi mới bắt đầu từ chỉ mục được chỉ định cho đến khi kết thúc từ.

Bạn muốn bắt đầu từ chữ cái thứ hai cho đến khi kết thúc giá trị.

Trong trường hợp này, đối số bạn nên chuyển đến

function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
7 là một chỉ số của
function dashed[str, sep] {
  let words = str.split[sep];
  return words.map[word => {
    let left = word.slice[0, -1].toLowerCase[];
    let lastLetter = word.slice[-1];
    return `${left}${lastLetter}`
  }].join['-']

}

console.log[
  dashed["Sunny&CloudY&Rainy", /\b/]
]
9 vì đó là chỉ số của chữ cái thứ hai.

Bằng cách này, nhân vật đầu tiên được loại trừ hoàn toàn. Một chuỗi mới được trả về mà không có nó nhưng chứa phần còn lại của các ký tự - trừ chữ cái đầu tiên đó.

Sau đó lưu hoạt động đó vào một biến mới.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
3

Bằng cách kết hợp hai biến mới với nối, bạn nhận được một chuỗi mới chỉ với chữ cái đầu tiên được viết hoa.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
4

Một cách khác là kết hợp các bước từ trên cao và cô lập chúng trong một chức năng.

Hàm được tạo ra chỉ một lần. Hàm sau đó trả về một chuỗi mới với chữ cái đầu tiên được viết hoa.

Số lượng mã bạn cần viết là ít hơn đáng kể trong khi cũng có thể truyền trong bất kỳ chuỗi nào dưới dạng đối số mà không viết mã lặp đi lặp lại.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
5

Cách viết hoa chữ cái đầu tiên của mỗi từ trong JavaScript

Nhưng làm thế nào để bạn làm cho chữ cái đầu tiên của mỗi từ trong một câu viết hoa?

Phương thức được hiển thị trong phần trên sẽ không hoạt động vì nó không xử lý nhiều từ, chỉ là một từ duy nhất trong một câu.

Giả sử bạn có một câu giống như câu dưới đây. Bạn muốn tận dụng mọi từ đầu tiên trong câu.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
6

Bước đầu tiên là chia câu thành các từ riêng lẻ và làm việc riêng với từng từ.

Đối với điều đó, bạn sử dụng phương thức

const regex = /[.+?\b]+?/g;
const str = 'Sunny&Cloudy&rainy';
const subst = '$1-';
const result = str.replace[regex, subst];

//make string lowercase + remove last '-'
console.log['Substitution result: ', result.toLowerCase[].substring[0, result.length - 1]];
0 và truyền một không gian làm đối số. Điều đó có nghĩa là với mỗi không gian trong câu được cung cấp, một mục được chuyển vào một mảng mới.

Nó chia các câu dựa trên không gian trống.

Tạo một biến mới và lưu trữ mảng mới.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
7

Bây giờ từ câu đó, có một loạt các từ mới cho phép bạn tự thao tác từng từ, riêng biệt.

Vì bây giờ có một mảng mới, bạn có thể sử dụng phương thức

const regex = /[.+?\b]+?/g;
const str = 'Sunny&Cloudy&rainy';
const subst = '$1-';
const result = str.replace[regex, subst];

//make string lowercase + remove last '-'
console.log['Substitution result: ', result.toLowerCase[].substring[0, result.length - 1]];
1 để lặp lại trên từng mục riêng lẻ bên trong nó.

Trong phương thức

const regex = /[.+?\b]+?/g;
const str = 'Sunny&Cloudy&rainy';
const subst = '$1-';
const result = str.replace[regex, subst];

//make string lowercase + remove last '-'
console.log['Substitution result: ', result.toLowerCase[].substring[0, result.length - 1]];
1, bạn sử dụng cùng một quy trình được hiển thị trong phần trên để lấy từng từ riêng lẻ, viết hoa chữ cái đầu tiên và trả về phần còn lại của từ.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
8

Bức thư đầu tiên của mỗi từ bây giờ được viết hoa.

Tất cả những gì còn lại bây giờ là kết hợp các từ trong mảng với nhau trong một câu một lần nữa.

Cho rằng bạn sử dụng phương thức

const regex = /[.+?\b]+?/g;
const str = 'Sunny&Cloudy&rainy';
const subst = '$1-';
const result = str.replace[regex, subst];

//make string lowercase + remove last '-'
console.log['Substitution result: ', result.toLowerCase[].substring[0, result.length - 1]];
3 và truyền một không gian làm đối số.

var name = 'Sunny&Cloudy';
name.replace[/[A-Z][a-z]*/g, str => '-' + str.toLowerCase[] + '-']
  // Convert words to lower case and add hyphens around it [for stuff like "&"]
  .replace['--', '-'] // remove double hyphens
  .replace[/[^-]|[-$]/g, '']; // remove hyphens at the beginning and the end
9

Như được hiển thị trong phần trên, bạn cũng có thể tạo một hàm kết hợp tất cả các bước luận án. Sau đó, bạn sẽ có thể vượt qua như một đối số bất kỳ chuỗi nào và mỗi từ đầu tiên trong đó sẽ là chữ hoa.

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
0

Sự kết luận

Và bạn có nó rồi đấy! Đây là cách bạn sử dụng các phương thức

var name = 'Sunny&Cloudy';

let res = name.replace[/[A-Z&]/g, m => m === "&" ? "-and-" : m.toLowerCase[]];

console.log[res];
9 và
.as-console {background-color:black !important; color:lime;}
.as-console-wrapper {max-height:100% !important; top:0;}
6 trong JavaScript.

Bạn đã học được cách tận dụng chữ cái đầu tiên của một từ và viết hoa chữ cái đầu tiên của mỗi từ trong một câu.

Nếu bạn muốn học JavaScript và hiểu rõ hơn về ngôn ngữ, Freecodecamp có chứng nhận JavaScript miễn phí.

Bạn sẽ bắt đầu từ những điều cơ bản như một người mới bắt đầu tuyệt đối với ngôn ngữ và sau đó tiến tới các chủ đề phức tạp hơn như lập trình hướng đối tượng, lập trình chức năng, cấu trúc dữ liệu, thuật toán và kỹ thuật gỡ lỗi hữu ích.

Cuối cùng, bạn sẽ xây dựng năm dự án để đưa các kỹ năng của mình vào thực hành.

Cảm ơn bạn đã đọc, và học hỏi hạnh phúc!

Học mã miễn phí. Chương trình giảng dạy nguồn mở của Freecodecamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

Bài Viết Liên Quan

Chủ Đề