TypeScript字符串
在TypeScript中,字符串是表示字符值序列的对象。它是一种用于存储文本数据的原始数据类型。字符串值被单引号或双引号包围。字符数组的工作方式与字符串相同。
语法
let var_name = new String(string);
示例
let uname = new String("Hello JavaTpoint");
console.log("Message: " + uname);
console.log("Length: "+uname.length);
输出:
Message: Hello JavaTpoint
Length: 16
我们可以使用三种方式创建字符串。
1. 单引号字符串
将字符串括在单引号中,如下所示。
示例
var studentName: String = 'Peter';
2. 双引号字符串
将字符串括在双引号中,如下所示。
示例
var studentName: String = "Peter";
3. 反引号字符串
它用于编写表达式。 我们可以使用它将表达式嵌入字符串中。 它也称为模板字符串。 TypeScript支持ES6版本的Template string。
示例
let empName:string = "Rohit Sharma";
let compName:string = "JavaTpoint";
// Pre-ES6
let empDetail1: string = empName + " works in the " + compName + " company.";
// Post-ES6
let empDetail2: string = `{empName} works in the{compName} company.`;
console.log("Before ES6: " +empDetail1);
console.log("After ES6: " +empDetail2);
输出:
Before ES6: Rohit Sharma works in the JavaTpoint company.
After ES6: Rohit Sharma works in the JavaTpoint company.
多行字符串
ES6提供了多行字符串的写法。我们可以从以下示例中理解它。
示例
let multi = 'hello ' +
'world ' +
'my ' +
'name ' +
'is ' +
'Rohit';
如果我们希望字符串中的每一行都包含“换行符”字符,则必须在每个字符串的末尾添加 “\n”。
示例
let multi = ' hello\n ' +
'JavaTpoint\n ' +
'my\n ' +
'name\n ' +
'is\n ' +
'Rohit Sharma';
console.log(multi);
输出:
hello
JavaTpoint
my
name
is
Rohit Sharma
字符串字面量类型
字符串字面量是一系列用双引号(” “)括起来的字符序列。它用于表示形成空结尾字符串的字符序列。它允许我们在“字符串字面量类型”中指定精确的字符串值。它使用“pipe”或“|”符号连接不同的字符串值。
语法
Type variableName = "value1" | "value2" | "value3"; // 直到 N 个值
字符串字面量可用于两种方式-
1. 变量分配
我们只能将允许的值分配给文字类型变量。否则,它将在编译时出错。
例子
type Pet = 'cat' | 'dog' | 'Rabbit';
let pet: Pet;
if(pet = 'cat'){
console.log("Correct");
};
if(pet = 'Deer')
{
console.log("compilation error");
};
输出:
Correct
compilation error
2. 函数参数
我们只能将定义的值传递给文字类型参数。否则,它将在编译时出错。
例子
type FruitsName = "Apple" | "Mango" | "Orange";
function showFruitName(fruitsName: FruitsName): void {
console.log(fruitsName);
}
showFruitName('Mango'); //OK - Print 'Mango'
//Compile Time Error
showFruitName('Banana');
输出:
Mango
Banana
字符串方法
以下是字符串方法列表及其描述。
编号 | 方法 | 描述 |
---|---|---|
1. | charAt() | 返回给定索引的字符。 |
2. | concat() | 返回两个或多个字符串的组合结果。 |
3. | endsWith() | 用于检查一个字符串是否以另一个字符串结尾。 |
4. | includes() | 检查字符串是否包含另一个字符串。 |
5. | indexOf() | 返回从字符串中指定的子字符串第一次出现的位置,否则返回-1。 |
6. | lastIndexOf() | 返回字符串中某个值的最后一次出现的位置。 |
7. | match() | 用于匹配正则表达式和给定的字符串。 |
8. | replace() | 用新的子字符串替换匹配的子字符串。 |
9. | search() | 在正则表达式和字符串之间搜索匹配项。 |
10. | slice() | 返回一个字符串的一部分。 |
11. | split() | 将字符串拆分为子字符串并返回一个数组。 |
12. | substring() | 返回两个给定索引之间的字符串。 |
13. | toLowerCase() | 将字符串的所有字符转换为小写。 |
14. | toUpperCase() | 将字符串的所有字符转换为大写。 |
15. | trim() | 用于修剪字符串开头和结尾的空格。 |
16. | trimLeft() | 用于修剪字符串左侧的空格。 |
17. | trimRight() | 用于修剪字符串右侧的空格。 |
18. | valueOf() | 返回指定对象的原始值。 |
示例
//String Initialization
let str1: string = 'Hello';
let str2: string = 'JavaTpoint';
//String Concatenation
console.log("Combined Result: " +str1.concat(str2));
//String charAt
console.log("Character At 4: " +str2.charAt(4));
//String indexOf
console.log("Index of T: " +str2.indexOf('T'));
//String replace
console.log("After Replacement: " +str1.replace('Hello', 'Welcome to'));
//String uppercase
console.log("UpperCase: " +str2.toUpperCase());
输出:
Combined Result: HelloJavaTpoint
Character At 4: T
Index of T: 4
After Replacement: Welcome to
UpperCase: JAVATPOINT