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";
背引号字符串
用于编写表达式。我们可以使用它将表达式嵌入到字符串中。它也被称为模板字符串。TypeScript从ES6版本开始支持模板字符串。
示例:
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"; // upto N number of values
字符串字面值有两种使用方式-
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