簡體   English   中英

在javascript中使用split進行字符串操作

[英]string manipulation using split in javascript

"hello, my name is Jennifer and I live in texas, also I'm a student in.. "

采取上述字符串,我想產生以下輸出:

"my name is Jennifer and I live in texas, also I'm a student in.. "

在這種情況下,我不能像split(“,”)那樣使用split,因為問候語(hello)之后,句子中可能會有逗號。 我也不能使用子字符串,因為問候語可以在字符長度不同的光環中。

是否可以split(“,”)但僅對第一個逗號進行拆分?

您不必使用split 您可以這樣做:

str = str.replace(/^.*?,\s*/, '');

這是在第一個逗號之后返回什么。 正則表達式基本上是這樣做的。 ^的開頭開始,使用非貪婪的表達式.*? 會搜索直到第一次出現為止的所有內容,然后如果\\s*之后碰巧有空格,也要刪除該空格。

var a = "hello, my name is Jennifer and I live in texas, also I'm a student in.. " ;

var b = a.split(",");
b.shift();
// c is what you are looking for
var c = b..join(",");

以下將返回一個僅在第一個逗號處拆分字符串的數組。

var temp = string.split(',')
var result = [temp.shift(), temp.join(',')]

獲取除首字符外的所有字符,包括',': var trimmed = str.slice(a.indexOf(',') + 2)

您可以使用如下形式:

function(msg,delimiter){
  delimiter = delimiter ? delimiter : ","
  var idx = msg.indexOf(delimiter) + delimiter.length
  return msg.substring(idx)
}

如果未提供定界符,則默認為“,”

嘗試將.indexOf()與參數" "配合使用以匹配第一個空格字符.slice()

 var str = "hello, my name is Jennifer and I live in texas, also I'm a student in.. "; var res = str.slice(str.indexOf(" ") + 1); console.log(res) 

假設我們有:

var str = "one, two, three, four"
var sep = ", "

然后,如果找到子字符串sep的第一個實例的.indexOf ,然后從該索引開始加上字符串sep本身的長度,得到字符串的子字符串,則我們可以有效地產生字符串的其余部分,而無需拆分或使用正則表達式。

str.substr(str.indexOf(sep) + sep.length) // -> "two, three, four"
string.split(",", 2);

正如String.split(String,int)解釋的那樣:

如果您有更多的逗號,請使用一個正則表達式,獲取“除第一個逗號外的所有內容”。 所以:

string.split(/,(.+)?/)[1]

暫無
暫無

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

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