当我尝试用分隔符分割字符串时,该strtok函数不考虑空字符串,我想知道如何修复它。例如,就我而言,我必须拆分字符串,例如"a-b-c". 当我尝试拆分字符串时"a--b-c",结果应该是,,,, "a"(注意空字符串)。但如果我在调用函数后打印每个元素的结果,它只考虑、和。为什么会发生这种情况?我该如何解决?"""b""c""a""b""c"
char str[] = "a--b-c";
char *delim = "-";
char *token;
token = strtok(str, delim);
while (token != NULL) {
printf("element is: =====%s===== \n ", token);
token = strtok(NULL, delim);
}
Run Code Online (Sandbox Code Playgroud)
打印的元素应该是 4 ( a, 空字符串 , b, c) 但使用此代码,它只有 3 ( a, b, c)。
我需要类似于"awk {print $ 1}"的东西,但对于java.我有一个字符串,类似于:
word1 word2 word3 word4 word5 word6
我怎样才能从每一行中对第一个单词进行子串?
任何人都可以告诉我如何在不使用字符串函数的情况下找到给定字符串中子字符串的出现次数.例如,字符串是" 当男人得到母鸡 "时,我预期的结果是子串' 他 ' 在给定的字符串中出现4次.
所以我正在使用Android中的URI为各个联系人设置铃声.问题是,铃声选择器的工作方式是它不喜欢像myringtone.mp3.相反,它只是想要myringtone.很奇怪,但我想这就是它的方式.所以我有一个类似的URI file:///sdcard/tag/ringtones/ringtone.mp3.如何获取URI以删除扩展名,以便铃声管理器正确使用它?设置铃声的方式是这一行:
values.put(ContactsContract.Contacts.CUSTOM_RINGTONE, uri.toString());
Run Code Online (Sandbox Code Playgroud)
所以URI是字符串形式.使用子串我应该能够做到,但我不知道如何编写一个方法来删除字符串中的最后4个字符.谁能在这里给我一些建议?
谢谢!
如果我有这样的字符串:
The important variable=123 the rest is not important.
Run Code Online (Sandbox Code Playgroud)
我想在ksh中提取"123"部分.
到目前为止,我尝试过:
print awk ' {substr($line, 20) }' | read TEMP_VALUE
Run Code Online (Sandbox Code Playgroud)
(这20部分只是暂时的,直到我弄清楚如何提取字符串的起始位置.)
但是,这只是打印awk ' {substr($line, 20) }' | read TEMP_VALUE(虽然这种格式也有这样的代码工作:print ${line} | awk '{print $1}' | read SINGLE_FILE).
我错过了一个简单的命令来执行此操作(即其他语言)吗?
运行Solaris 10.
我试图在一个大字符串中找到字符串"\ r \n"(基本上换行和返回)的所有索引.
我需要这样做,因为我必须逐行将大字符串写入PDF文件(我必须在写完前一行后调用我正在使用的dll的换行符API).
这是代码的简短版本: -
string fileContents = "abc\r\n\r\ndef\r\nghi";
int pos = -1;
int start = 0;
while ((pos = fileContents.IndexOf("\r\n", start)) != -1)
{
//extract string
//write string to PDF
//call newline API
start = pos + 1;
}
Run Code Online (Sandbox Code Playgroud)
fileContents变量中"\ r \n"的预期位置是3,7和14.但是,在调试代码时,pos变量中的值是3,5和10.
我的indexOf()调用似乎有什么问题?
我如何在Elixir中查找子字符串是否与另一个位串一起出现?我需要验证位串X是否存在于位串Y中的某个位置以进行测试.使用现有功能有一种简单的方法吗?
x = "bar"
y = "foo bar baz"
some_substring_function(x, y)
Run Code Online (Sandbox Code Playgroud)
与some_substring_function返回truthy值.
提前致谢!
我有包含子弹的字符串
*苹果**芒果香蕉*sapota.
我想创建一个字符串列表{apple,mango,banana,sapota}.建议任何其他方法(如果有)
我正在使用Java逐行读取文件并解析每行中的数据以获取报告.会定期将一个URL写入一行,我想绕过该行.我需要设置一个if...then测试URL的存在 - 在这种特定情况下,我将其定义为行读取的前四个字节http.如果条件为真,则读取文件中的下一行,但如果条件为false,则将当前行发送到解析器以进行报告输出.
简单,不是吗?我遇到的问题是我无法得到我的if..then陈述以准确识别一个true条件.我唯一的线索是,当我inputString的等于测试值时,它会传递为true.除此之外......我无法发现任何与众不同的东西.
public class testClass
{
public static void main(String args[])
{
String inputString1 = "http://www.google.com/r";
String inputString2 = "google";
String inputString3 = "google search";
String inputString4 = "http";
parseInput(inputString1);
parseInput(inputString2);
parseInput(inputString3);
parseInput(inputString4);
}
//
private static void parseInput(String inputString8) {
int httpFlag;
if (inputString8.substring(0,4) == "http")
{ httpFlag = 1467; } else
{ httpFlag = 10644; }
System.out.println(inputString8+" "+inputString8.toLowerCase().substring(0,4)+" "+httpFlag);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的输出: …
如果我有一个字符串="helloiamastring"
我想从字符串的开头选择"lo".我怎样才能做到这一点?
我认为这将是一些东西
string[/\A/.."lo"]
Run Code Online (Sandbox Code Playgroud)
要么 string[/\A/../lo/]
这会给我"你好".唉它没有,我不知道在哪里看
(我还需要能够做到这一点,而不知道字符串中"lo"的位置)
我是新来的.我确定我已经读过如何在某处做到这一点,但我不记得在哪里.任何帮助,将不胜感激!
谢谢,