我在拆分String
时遇到了问题。
我想用一些分隔符拆分一个String
,但不想丢失那个分隔符。
当我们在Java中使用somestring.split(String separator)
方法时,它拆分了String
,但从String
中删除了分隔符部分。我不希望这事发生。
我想要如下结果:
String string1="Ram-sita-laxman";
String seperator="-";
string1.split(seperator);
输出:
[Ram, sita, laxman]
但我想要如下所示的结果:
[Ram, -sita, -laxman]
有没有办法得到这样的输出呢?
发布于 2010-12-11 19:18:40
这有点不靠谱,但是你可以使用一个替换函数来引入一个虚拟分隔符。我不知道Java方法,但在C#中可能是这样的:
string1.Replace("-", "#-").Split("#");
当然,您需要选择一个虚拟分隔符,该分隔符保证不会出现在字符串中的其他位置。
发布于 2010-12-11 19:16:37
一种方法是拆分字符串,然后在除第一个字符串之外的每个提取字符串的开头添加分隔符。
发布于 2013-02-21 02:03:38
亚当一针见血!我使用他的答案来解决如何将文件对话框浏览器中的文件名文本插入到富文本框中。我遇到的问题是当我在文件字符串中的"\“处添加新行时。string.split命令在\处拆分并将其删除。在混合使用Adam的代码之后,我能够在文件名中的每个\之后创建一个新的行。
下面是我使用的代码:
OpenFileDialog fd = new OpenFileDialog();
fd.Multiselect = true;
fd.ShowDialog();
foreach (string filename in fd.FileNames)
{
string currentfiles = uxFiles.Text;
string value = "\r\n" + filename;
//This line allows the Regex command to split after each \ in the filename.
string[] lines = Regex.Split(value, @"(?<=\\)");
foreach (string line in lines)
{
uxFiles.Text = uxFiles.Text + line + "\r\n";
}
}
享受吧!
Walrusking
https://stackoverflow.com/questions/4416425
复制相似问题