2013-11-21 23 views
0

我希望做一些字符串操作的JavaScript如何在JavaScript中做這個字符串操作?

我的琴絃是這樣的 170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:

但事實上,我只是直到字手機感興趣的所有字符(不包括手機)

所以,在這種情況下,我會得到:

`170 West Tasman Drive San Jose, CA 95134 United States - 

我看了看這個,http://www.javascriptkit.com/javatutors/string4.shtml,但我沒有找到任何東西我認爲會幫助我...

任何想法,如何在JavaScript中拉這個字符串?

+1

如果輸入內部沒有出現「電話」,該怎麼辦? – Jon

回答

0

此:

var string = '170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:'; 
string = string.substr(0,string.indexOf('Phone')); 
alert(string); 

-substr是短期的子串和工作原理是這樣的子串(即,端部)

-indexOf發現提供的字符串的第一次出現。

+0

它是在問題中指定的「但事實上,我只對直到電話這個詞爲止的所有字符感興趣」。我沒有做出任何假設。 @NickG –

+1

好的,你贏了這個。評論撤銷(?/撤銷?)。 –

+0

@NickG:謙遜的+1 :) –

1

你可以使用str.indexOf(「Phone」); 獲得世界電話索引,然後做一個子串從開始到剛剛找到的位置,它會在手機之前返回給你所有的東西!

-1
console.log("170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:".substring(0,56)) 

170 West Tasman Drive San Jose, CA 95134 United States - 
+0

這隻適用於這個特定的句子。而且不會是一般情況下的解決方案。 –

+0

Wel可能他不會一直在同一個字符串上操作,如果是這種情況OP會手動刪除它的一部分 – Kroltan

+0

這不是一個好方法,因爲它意味着字符串將始終是相同的長度,例如如果地址是70,它將返回70 West Tasman Drive聖何塞,CA 95134美國 - P – Shryme

1

假設破折號將總是存在,你可以使用:

var str = '170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:'; 
str = str.split('-').shift(); 

您可以在 '手機' 一樣容易,雖然實際上分裂:

var str = '170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:'; 
str = str.split('Phone').shift(); 
0

其中一個(不同於其他答案)的可能性將是使用Regular Expressions - 這樣,你也靈活,應該在文字前電話改變長度。您需要:

使用常規的串碼錶達式可以是這樣的:

var input = "170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:"; 
var regExPattern = /Phone:/; // the expression that is matched against 
var cutPosition = input.search(regExPattern); // find the start position of the word by searching a match 
if (cutPosition != -1) { 
    var text = input.substring(0, input.search(regExPattern)); 
    // do something with the text 
} 

IMO使用正則表達式在這種情況下,可以使任務更容易 - 也有鄰

var input = "170 West Tasman Drive San Jose, CA 95134 United States - Phone: 408-526-4000 Website:"; 
var regExPattern = /Phone:.*/; // the expression that is matched against - now it is Phone: and everything after 
var text = input.replace(regExPattern, ""); // replace Phone: and everything after with empty string 
// do something with text 

假設:ption使用string.replace method刪除文本(從手機開始:)一次在一行文字電話:始終存在!