我知道有一個檢查空格的「isspace」函數,但是這需要我遍歷字符串中的每個字符,這可能會導致性能不佳,因爲這會被稱爲很多。有沒有一種快速的方法來檢查一個std :: string是否只包含空格?如何檢查一個字符串是否包含空格/製表符/新行(任何空白)?
例如:
function(" ") // returns true
function(" 4 ") // returns false
一個解決方案,我想的是使用正則表達式,然後我就知道,它僅包含空格,如果它是假的......但我不知道這是否會比isspace功能更有效率。
regex: [\w\W] //checks for any word character(a,b,c..) and non-word character([,],..)
在此先感謝!
_「這將需要我通過串中的每個字符,可以是性能不好迭代」 _你怎麼能指望測試是否所有字符匹配你的條件_without_迭代字符串中的所有字符? – 2012-07-11 02:04:36
在您的解決方案處於正常工作狀態之前,不要擔心微型優化。 – 2012-07-11 02:05:53
據我所知,如果一個字符串中包含空格而不檢查每個字符是否爲空格,實際上是不可能的,除非您發現非空格時返回false,而不是檢查字符串的其餘部分。 – RoneRackal 2012-07-11 02:07:02