簡體   English   中英

如何獲取字符串的第一個字符?

[英]How to get first character of string?

我有一個字符串,我需要獲取它的第一個字符。

 var x = 'somestring'; alert(x[0]); //in ie7 returns undefined

我該如何修復我的代碼?

你想要的是charAt

var x = 'some string';
alert(x.charAt(0)); // alerts 's'

在 JavaScript 中,您可以這樣做:

 const x = 'some string'; console.log(x.substring(0, 1));

您可以使用其中任何一種。

所有這些之間都有一點不同所以在條件語句中使用它時要小心。

var string = "hello world";
console.log(string.slice(0,1));     //o/p:- h
console.log(string.charAt(0));      //o/p:- h
console.log(string.substring(0,1)); //o/p:- h
console.log(string.substr(0,1));    //o/p:- h
console.log(string[0]);             //o/p:- h


var string = "";
console.log(string.slice(0,1));     //o/p:- (an empty string)
console.log(string.charAt(0));      //o/p:- (an empty string)
console.log(string.substring(0,1)); //o/p:- (an empty string)
console.log(string.substr(0,1));    //o/p:- (an empty string)
console.log(string[0]);             //o/p:- undefined

 const x = 'some string'; console.log(x.substring(0, 1));

所有方法的示例

第一string.charAt(index)

返回索引index處的caract

 var str = "Stack overflow"; console.log(str.charAt(0));

第二個string.substring(start,length);

返回字符串中從索引start到長度length之后停止的子字符串

在這里,您只需要第一個字符: start = 0length = 1

 var str = "Stack overflow"; console.log(str.substring(0,1));

替代方案string[index]

字符串是一個字符數組。 所以你可以像數組的第一個單元格一樣獲得第一個字符。

返回字符串index處的字符

 var str = "Stack overflow"; console.log(str[0]);

var x = "somestring"
alert(x.charAt(0));

charAt() 方法允許您指定所需字符的位置。

您試圖做的是在數組“x”的位置獲取字符,該字符未定義為 X 不是數組。

您甚至可以使用slice截斷所有其他字符:

x.slice(0, 1);
var str="stack overflow";

firstChar  = str.charAt(0);

secondChar = str.charAt(1);

IE6+FFChromesafari 中測試

也試試這個:

x.substr(0, 1);

看起來我參加聚會遲到了,但請嘗試以下我個人找到的最佳解決方案:

var x = "testing sub string"
alert(x[0]);
alert(x[1]);

輸出應顯示帶有以下值的警報:“t”“e”

x.substring(0,1)

細節

substring(start, end)從字符串中提取字符,在 2 個索引“start”和“end”之間,包括“end”本身。

特別說明

  • 如果“start”大於“end”,則此方法將交換兩個參數,即 str.substring(1, 4) == str.substring(4, 1)。
  • 如果“開始”或“結束”小於 0,則將其視為 0。

在 Nodejs 中,您可以使用 Buffer :

let str = "hello world"
let buffer = Buffer.alloc(2, str) // replace 2 by 1 for the first char
console.log(buffer.toString('utf-8')) // display he
console.log(buffer.toString('utf-8').length) // display 2

你可以這樣使用:

'Hello Mr Been'.split(' ').map( item => item.toUpperCase().substring(0, 1)).join(' ');

charAt()有父屬性,則它不起作用
parent.child.chartAt(0)
使用parent.child.slice(0, 1)

您可以使用以下任何一項:

let userEmail = "email";
console.log(userEmail[0]); // e
console.log(userEmail.charAt(0)); // e
console.log(userEmail.slice(0, 1)); // e
console.log(userEmail.substring(0, 1)); // e
console.log(userEmail.substr(0, 1)); // e
console.log(userEmail.split("", 1).toString()); // e
console.log(userEmail.match(/./)[0]); // e

簡單的方法是

const z ="sdsdsd"

console.log(z[0])    // 's'

並使用polyfills

已經 10 年了,但沒有人提到RegExp

 var x = 'somestring'; console.log(x.match(/./)[0]);

您也可以使用:

var x = "somestring";

console.log(x.split("")[0]); // output "s"

這應該適用於較舊的瀏覽器。

由於每個字符串都是一個數組,最簡潔的解決方案可能是使用新的展開運算符:

const x = 'somestring'
const [head, ...tail] = x
console.log(head) // 's'

好處是您現在可以訪問整個字符串,但第一個字符在tail使用join('')

console.log(tail.join('')) // 'omestring'

對於任何字符串 str = "Hello World"

str.split(' ').map( item => item.toUpperCase().substring(0, 1)).join(' ');

Output:硬件

查找Javascript中的字符串第一個字符的方法有很多種,我認為最簡單的查找方法是string.charAt()方法。 此方法將索引號作為參數並返回索引值。 如果你沒有給出任何參數,默認情況下它返回字符串的第一個字符。

 const str = "Bangladesh"; const firstCharacter = str.charAt(0); const secondCharacter = str.charAt(1); console.log(firstCharacter) console.log(secondCharacter)

已經 12 年了,只有一個開發人員提到了正則表達式,但這是一種更簡單的方法:

const str = 'string';

str.match(/\w/); // >> s

它將返回給定字符串中的第一個字符類單詞。

在 JQuery 中,您可以使用:在 Select Option 類中:

$('.className').each(function(){
    className.push($("option:selected",this).val().substr(1));
});

在類文本值:

$('.className').each(function(){
    className.push($(this).val().substr(1));
});

在文本值的 ID 中:

$("#id").val().substr(1)
var string  = "Hello World";
console.log(charAt(0));

charAt(0) 是 JavaScript 方法,它會根據索引返回值,這里 0 是第一個字母的索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM