在String-Array项元素中搜索字符串

时间:2011-06-28 03:29:04

标签: android

如何在字符串数组项元素中搜索特定文本?以下是xml文件的示例。字符串数组名称是android。我在string-array中有一些项目。现在我想搜索“软件”这个词。请告诉我怎么做?

<?xml version="1.0" encoding="utf-8"?><resources>
<string-array name="android">
    <item>Android is a software stack for mobile devices that includes an operating system, middleware and key applications.</item>
    <item>Google Inc. purchased the initial developer of the software, Android Inc., in 2005..</item>
</string-array>

2 个答案:

答案 0 :(得分:26)

这种方法有更好的表现:

String[] androidStrings = getResources().getStringArray(R.array.android);   
if (Arrays.asList(androidStrings).contains("software") {
    // found a match to "software"           
}

Arrays.asList().contains()比使用for循环更快。

答案 1 :(得分:18)

我假设您想在代码中执行此操作。 api中没有任何东西可以在整个String数组上进行文本匹配;你需要一次做一个元素:

String[] androidStrings = getResources().getStringArray(R.array.android);
for (String s : androidStrings) {
    int i = s.indexOf("software");
    if (i >= 0) {
        // found a match to "software" at offset i
    }
}

当然,您可以使用Matcher和Pattern,或者如果您想知道匹配数组中的位置,则可以使用索引遍历数组。但这是一般方法。