- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试使用问号作为字符串的变量。
我试过...
strings.xml
<string name="questionMark">\?</string>
.class
String questionMark;
questionMark = getResources().getString(R.string.questionMark);
String delim4 = (questionMark);
这会导致 fource close 正则表达式错误。
和
String delim4 = (\?);
这得到一个错误 Invalid escape sequence (valid ones are\b\t\n\f\r\"\'\)
还有
我试过在它前面放两个反斜杠
String delim4 =(\\?)
System.out.println("delim "+ delim4);
但这只是逃避了第二个斜杠,有时也会强制关闭。的输出是
删除\?
谁能告诉我如何将问号作为字符串放入。我用它作为变量来吐出一个字符串。 String Im 拆分不能更改。
求助
编辑添加的拆分代码
if (FinishedUrl.contains(questionMark)){
String delim3 = (".com/");
String[] parts3 = FinishedUrl.split(delim3);
String JUNK3= parts3[0];
String fIdStpOne = parts3[1];
String fIdStpTwo = fIdStpOne.replaceAll("=#!/","");
String delim4 = (questionMark);
String[] parts4 = fIdStpTwo.split(delim4);
String fIdStpThree= parts3[0];
String JUNK4 = parts3[1];
FId = fIdStpThree;
}
最佳答案
正如用户 laalto
所指出的,?
是正则表达式中的元字符。你必须解决这个问题。
让我们看看这里发生了什么。首先,一些基本规则:
`?` is not a special character in Java
`?` is a reserved character in regex
这意味着:
String test = "?"; // Valid statement in java, but illegal when used as a regex
String test = "\?"; // Illegal use of escape character
为什么第二个说法是错误的?因为我们试图转义一个不特殊的字符(在 Java 中)。好的,我们会回到这个问题上。
现在,对于 split(String)
方法,我们需要转义 ?
- 它是正则表达式中的元字符。所以,我们需要 \?
正则表达式。
回到字符串,我们如何得到\?
?我们需要转义 \(backslash)
- 而不是问号!
工作流程如下:
String delim4 = "\\?";
此语句为我们提供了 \?
- 它转义了 \(backslash)
。
String[] parts4 = fIdStpTwo.split(delim4);
这让我们可以在 split()
方法中使用 \?
作为正则表达式。由于 delim4
作为正则表达式传递,因此 \?
用作 ?
。这里,前缀 \
用于转义 ?
。
您的观察:
String delim4 = (\?);
This gets an error Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \ )
我在上面介绍了这一点。您正在 java 级别转义 ?
- 但它不是特殊字符,不需要转义 - 因此出现错误。
String delim4 =(\\?)
System.out.println("delim "+ delim4);
But that just escapes the second slash and sometimes force closes as well. the output for that was
delim \?
这就是我们想要的。将此视为两个阶段的过程更容易。第一阶段处理成功地将 \(backslash)
放在 ?
前面。在第二阶段,正则表达式发现 ?
有一个 \
前缀,并使用 ?
作为文字而不是元字符。
下面是将正则表达式放入 res/values/strings.xml 的方法:
<string name="questionMark">\\?</string>
顺便说一句,还有另一种选择——这不是我现在经常使用的东西——split()
工作得很好。
您可以使用 StringTokenizer
,它使用分隔符而不是正则表达式。 Afaik,任何文字都可以用作定界符。所以,你可以直接使用?
:
StringTokenizer st = new StringTokenizer(stringToSplit, "?");
while (st.hasMoreTokens()) {
// Use tokens
String token = st.nextToken();
}
关于android - 在android中使用问号作为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24800186/
这个问题在这里已经有了答案: When to use generic methods and when to use wild-card? (9 个回答) 关闭 4 年前。 我试图理解为什么我们需要
我试图编写一个简单的 C 程序来检查路径名是否具有“.jpg”或“.jpeg”后缀。这是我的程序: #include #include #include regex_t regex; stati
我需要使用以下 URL 重定向传入请求: http://mywebsite.com/abc/mapserv.exe?map=123 到 http://mywebsite.com/abc/mapserv
当从我的应用程序插入一些中文字符时,它们会被写入数据库为“???”。不用说,在内置的命令行 mysql 客户端中一切都可以正常工作。 连接字符串: --user-db-uri = jdbc:mysql
您如何定义验证方法?例子:包括?甚至?奇怪? >> 2.odd? => false >> 6.even? => true >> 最佳答案 与您定义任何其他函数的方式相同 - 问号是函数名称的一部分:
我有一个字符串 $name = "name1?name2?name3?name4"; 我想修改这个变量为 $name2 = "name1/name2/name3/name4"; 使用 PHP preg
我已经搜索了对此的一种解释,但没有找到一种解释。在Prolog谓词的描述中,有时在变量名之前的问号,加号和减号是什么意思? 例: predicate(?Variable1,+Variable2,-Va
在Kotlin中,如果我们将类成员声明为 var 和 nullable 类型,则编译器不允许我们运行成员函数,尽管我们在调用函数之前放置了if语句,因为编译器无法保证该成员在针对null进行检查之后并
我想使用 JDBC 向表中插入一行。但是表有大量列,所以我不想将所有列指定到语句中。还有另一种指定列值的方法吗? INSERT INTO TABLE_NAME VALUES(?, ?, ?, ...,
这是我的应用程序崩溃时看到的(没有明显的原因,有时在启动时,有时在以后)。 我该怎么办? 最佳答案 在文件的两个版本中都更改了一行代码的差异被视为冲突,并且其指示符是一个问号。您必须指定解决所有冲突的
我正在尝试在 SpringData native 查询中使用 Postgres jsonb 字符串存在运算符。 SpringData 方法示例: @Query(value = "SELECT t.id
我从另一个应用程序传递了以下字符串。 2�4�9� (2�4�9�) 我想从上面的字符串中删除问号 ascii 字符。 我该怎么做? 最佳答案 根据这个Uni
我在 Android Activity 的 TextView 中遇到重音字符问题。渲染显示问号而不是字符“è”和“à”。流程是:从网络资源中获取一个 midi 文件 --> 提取歌词 --> 将歌词放
有什么办法可以防止'?'在 HTML/CSS 中被视为空白?这是默认行为,还是我做错了什么? 我有一个包含很长 URL 的 div(长度是动态的)。我希望 URL 将问号视为任何其他字符,而不是在该字
我见过这样的代码片段: export interface IUser { email?: string; firstName?: string; lastName?: stri
我正在从我的数据库中获取包含希伯来语单词的数据。然后我从 ResultSet 中获取这些数据并将其放入一个字符串中,然后将其放入一个 JSONObject 中。 代码如下: response.setC
这个问题在这里已经有了答案: What is an optional value in Swift? (15 个答案) 关闭 8 年前。 在 Swift 编程中,我发现了一些带有对象的问号。 var
这个问题在这里已经有了答案: 关闭 9 年前。 Possible Duplicate: Save Data in Arabic in MySQL database 我在使用 PHP 从 MYSQL 数
所以我在想,为了在控制台应用程序中实现这样的功能,在函数名称末尾附加一个问号将倒出它的文档字符串,我可能会使用像元类这样的功能,其中在定义/导入时,我将复制所有模块成员名称并生成新的名称,仅用于输入文
我有一个带有一堆标志(静态图像)的表单,每个标志下方都有一个勾选框。用户选择复选框以允许他们使用特定语言。在设计时,我为每种语言设置了对应的本地化复选框标题,在此示例中为“Español”(西类牙语)
我是一名优秀的程序员,十分优秀!