Added StringUtil.joinEscaped() and a unit test for said.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@549 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
//
|
//
|
||||||
// $Id: StringUtil.java,v 1.18 2002/01/22 15:46:56 shaper Exp $
|
// $Id: StringUtil.java,v 1.19 2002/01/30 18:11:27 mdb Exp $
|
||||||
//
|
//
|
||||||
// samskivert library - useful routines for java programs
|
// samskivert library - useful routines for java programs
|
||||||
// Copyright (C) 2001 Michael Bayne
|
// Copyright (C) 2001 Michael Bayne
|
||||||
@@ -351,6 +351,25 @@ public class StringUtil
|
|||||||
return vals;
|
return vals;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Joins an array of strings into a single string, separated by
|
||||||
|
* commas, and escaping commas that occur in the individual string
|
||||||
|
* values such that a subsequent call to {@link #parseStringArray}
|
||||||
|
* would recreated the string array properly.
|
||||||
|
*/
|
||||||
|
public static String joinEscaped (String[] values)
|
||||||
|
{
|
||||||
|
StringBuffer buf = new StringBuffer();
|
||||||
|
int vlength = values.length;
|
||||||
|
for (int i = 0; i < vlength; i++) {
|
||||||
|
if (i > 0) {
|
||||||
|
buf.append(", ");
|
||||||
|
}
|
||||||
|
buf.append(replace(values[i], ",", ",,"));
|
||||||
|
}
|
||||||
|
return buf.toString();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Splits the supplied string into components based on the specified
|
* Splits the supplied string into components based on the specified
|
||||||
* separator character.
|
* separator character.
|
||||||
|
|||||||
@@ -0,0 +1,52 @@
|
|||||||
|
//
|
||||||
|
// $Id: StringUtilTest.java,v 1.1 2002/01/30 18:11:27 mdb Exp $
|
||||||
|
//
|
||||||
|
// samskivert library - useful routines for java programs
|
||||||
|
// Copyright (C) 2001 Michael Bayne
|
||||||
|
//
|
||||||
|
// This library is free software; you can redistribute it and/or modify it
|
||||||
|
// under the terms of the GNU Lesser General Public License as published
|
||||||
|
// by the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
// (at your option) any later version.
|
||||||
|
//
|
||||||
|
// This library is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
// Lesser General Public License for more details.
|
||||||
|
//
|
||||||
|
// You should have received a copy of the GNU Lesser General Public
|
||||||
|
// License along with this library; if not, write to the Free Software
|
||||||
|
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
||||||
|
package com.samskivert.util;
|
||||||
|
|
||||||
|
import junit.framework.Test;
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
|
import com.samskivert.Log;
|
||||||
|
|
||||||
|
public class StringUtilTest extends TestCase
|
||||||
|
{
|
||||||
|
public StringUtilTest ()
|
||||||
|
{
|
||||||
|
super(StringUtilTest.class.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
public void runTest ()
|
||||||
|
{
|
||||||
|
String source = "mary, had, a,, little, lamb, and, a, comma,,";
|
||||||
|
|
||||||
|
// split the source string into tokens
|
||||||
|
String[] tokens = StringUtil.parseStringArray(source);
|
||||||
|
assert("tokens.length == 7", tokens.length == 7);
|
||||||
|
|
||||||
|
// now join them back together
|
||||||
|
String joined = StringUtil.joinEscaped(tokens);
|
||||||
|
assert("joined.equals(source)", joined.equals(source));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static Test suite ()
|
||||||
|
{
|
||||||
|
return new StringUtilTest();
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user